1.简介 List在数据结构中表现为是线性表的方式,其元素以线性方式存储,集合中允许存放重复的对象,List接口主要的实现类有ArrayList和LinkedList。Java中分别提供了这两种结构的实现,这一篇文章…
标签:java集合
java 集合类源码分析--arrays
本文介绍一下java集合相关类arryas类的内容 、Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序。其中主要分为Primitive(8种基本类型)和Object两大类。 …
java集合源码分析之ArrayList
源码分析以JDK1.8为例. ArrayList就是动态数组,就是Array的复杂版本.它提供了动态的增加和减少元素,实现了Collection和List接口,灵活的设置数组的大小等好处.UML图如下: 源码解读 公共属…
Java集合源码分析(七)HashMap
一、HashMap概述 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了不同步…
Java集合(15)--ConcurrentHashMap源码分析
ConcurrentHashMap使用了锁分离技术, 使用了多个锁来控制对hash表的不同部分进行的修改。使用段(Segment)来表示这些不同的…
java 集合类源码分析--Vector
首先我们来看JDK源码中Java.util.Vector的代码,剔除所有的方法和静态变量, Java.lang.Vector的核心代码如下: public class Vector<E>&…
Java集合(11)--TreeMap源码分析
TreeMap继承关系,和HashMap同继承于AbstractMap,属于兄弟关系。 public class TreeMap<K,V> extends AbstractMap<K,V> imp…
Java集合源码分析(五)HashSet
HashSet简介 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 HashSet源码分析 对于…
Java集合源码分析(三)LinkedList
LinkedList简介 LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。 LinkedList同样是非线程安全的,只在单线…
java 集合之 HashMap源码分析
本篇研究所用 JDK 版本为 1.8 https://www.jianshu.com/p/17177c12f849 http://www.importnew.com/28263.html https://ww…
Java集合类源码分析
常用类及源码分析 集合类 原理分析 Collection List Vector 扩充容量的方法 ensureCapacityHelper很多方法都加入了synchronized同步语句,来保…
java 集合类源码分析--list接口
第一点:介绍list 接口 List 是一种集合。以数据结构的中定义它是一种线性的结构。 1)除了第一个元素以外,每个元素都有且只有唯一的一个前驱。 2)除了最后一个元素以外每个一元素有且只有一个后继。 3…