文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之Collections && Arrays(十)(2)

三、Arrays源码分析  3.1 类的属性  public class Arrays { // 可以进行并行排序的最小数组长度 private static final int MIN_ARRAY_SORT_GRAN = 1 << 13; }3.2 构造函数 private Arrays() {}说明:私有构造函数,类外不允许调用。  3.3 方法分析  Array...

【集合框架】JDK1.8源码分析之Collections && Arrays(十)(2)
文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之Collections && Arrays(十)(1)

一、前言  整个集合框架的常用类我们已经分析完成了,但是还有两个工具类我们还没有进行分析。可以说,这两个工具类对于我们操作集合时相当有用,下面进行分析。二、Collections源码分析  2.1 类的属性 public class Collections { // 二分查找阈值 private static final int BINARYSEARCH_THRESHOLD ...

【集合框架】JDK1.8源码分析之Collections && Arrays(十)(1)
文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之Comparable && Comparator(九)

一、前言  在Java集合框架里面,各种集合的操作很大程度上都离不开Comparable和Comparator,虽然它们与集合没有显示的关系,但是它们只有在集合里面的时候才能发挥最大的威力。下面是开始我们的分析。二、示例  在正式讲解Comparable与Comparator之前,我们通过一个例子来直观的感受一下它们的使用。  首先,定义好我们的Person类  class Person { .....

文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析HashSet && LinkedHashSet(八)

一、前言  分析完了List的两个主要类之后,我们来分析Set接口下的类,HashSet和LinkedHashSet,其实,在分析完HashMap与LinkedHashMap之后,再来分析HashSet与LinkedHashSet,就会变成异常简单,下面开始进行分析。二、数据结构  2.1 HashSet数据结构  老规矩,先上数据结构,因为HashSet底层是基于HashMap 或者 Link....

文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之LinkedList(七)

一、前言  在分析了ArrayList了之后,紧接着必须要分析它的同胞兄弟:LinkedList,LinkedList与ArrayList在底层的实现上有所不同,其实,只要我们有数据结构的基础,在分析源码的时候就会很简单,下面进入正题,LinkedList源码分析。二、LinkedList数据结构  还是老规矩,先抓住LinkedList的核心部分:数据结构,其数据结构说明:如上图所示,Link....

【集合框架】JDK1.8源码分析之LinkedList(七)
文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之ArrayList(六)

一、前言  分析了Map中主要的类之后,下面我们来分析Collection下面几种常见的类,如ArrayList、LinkedList、HashSet、TreeSet等。下面通过JDK源码来一起分析ArrayList底层是如何实现的。(PS:把JVM看完了之后终于可以有成片的时间来阅读源码了,感觉简直不能更爽)。二、ArrayList数据结构  分析一个类的时候,数据结构往往是它的灵魂所在,理解....

【集合框架】JDK1.8源码分析之ArrayList(六)
文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之TreeMap(五)

一、前言  当我们需要把插入的元素进行排序的时候,就是时候考虑TreeMap了,从名字上来看,TreeMap肯定是和树是脱不了干系的,它是一个排序了的Map,下面我们来着重分析其源码,理解其底层如何实现排序功能。下面,开始分析。二、TreeMap示例import java.util.TreeMap; import java.util.Map; public class TreeMapTest {....

【集合框架】JDK1.8源码分析之TreeMap(五)
文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之IdentityHashMap(四)

一、前言  前面已经分析了HashMap与LinkedHashMap,现在我们来分析不太常用的IdentityHashMap,从它的名字上也可以看出来用于表示唯一的HashMap,仔细分析了其源码,发现其数据结构与HashMap使用的数据结构完全不同,因为在继承关系上面,他们两没有任何关系。下面,进入我们的分析阶段。二、IdentityHashMap示例  import java.util.Ma....

【集合框架】JDK1.8源码分析之IdentityHashMap(四)
文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之HashMap & LinkedHashMap迭代器(三)

一、前言  在遍历HashMap与LinkedHashMap时,我们通常都会使用到迭代器,而HashMap的迭代器与LinkedHashMap迭代器是如何工作的呢?下面我们来一起分析分析。二、迭代器继承图三、HashMap迭代器  3.1 HashIterator  HashIterator是一个抽象类,封装了迭代器内部工作的一些操作。  HashIterator类属性abstract clas....

【集合框架】JDK1.8源码分析之HashMap & LinkedHashMap迭代器(三)
文章 2022-04-25 来自:开发者社区

【集合框架】JDK1.8源码分析之LinkedHashMap(二)

一、前言  前面我们已经分析了HashMap的源码,已经知道了HashMap可以用在哪种场合,如果这样一种情形,我们需要按照元素插入的顺序来访问元素,此时,LinkedHashMap就派上用场了,它保存着元素插入的顺序,并且可以按照我们插入的顺序进行访问。二、LinkedHashMap用法import java.util.Map; import java.util.LinkedHashMap; ....

【集合框架】JDK1.8源码分析之LinkedHashMap(二)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐