![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合源码
Piper小豆芽
这个作者很懒,什么都没留下…
展开
-
LinkedHashSet源码分析
简介原创 2019-11-10 21:15:08 · 125 阅读 · 0 评论 -
TreeSet源码分析
简介基于TreeMap的NavigableSet实现。 元素使用自然排序进行排序,或通过在集合创建时提供的Comparator进行排序,具体取决于所使用的构造函数。类图原创 2019-11-07 15:25:53 · 111 阅读 · 0 评论 -
HashSet源码分析
简介基于hash表的Set接口实现。它不保证集合的迭代顺序。特别是,它不能保证顺序会随着时间的推移保持恒定。此类允许null 元素。类继承关系原创 2019-11-07 15:22:53 · 86 阅读 · 0 评论 -
WeakHashMap源码分析
简介基于哈希表的Map接口的实现,带有弱键。类继承关系原创 2019-11-07 15:17:35 · 116 阅读 · 0 评论 -
TreeMap源码分析
简介基于红黑树的实现,根据key的自然顺序排序, 或者根据构造方法传入的排序方式。类继承关系原创 2019-11-07 15:11:02 · 100 阅读 · 0 评论 -
Hashtable源码分析
文章目录简介类继承关系简介是hash表的一个实现,和HashMap大致相同,存储键值对,任何非空的数据可以作为key或者value。并且线程安全。类继承关系实现Map接口,继承Dictionary...原创 2019-11-06 18:57:24 · 100 阅读 · 0 评论 -
LinkedHashMap源码分析
文章目录继承体系简介属性内部类构造方法关键方法解析插入顺序实现newNodelinkNodeLast访问顺序实现总结继承体系继承HashMap,在其基础上记录插入顺序。简介LinkedHashMap具有可预测的迭代顺序,与HashMap的不同之处在于,它维护一个遍历所有条目的双向链接列表。此链表定义了迭代顺序,通常是将键插入映射中的顺序。请注意,如果将键重新插入到地图中,则插入顺序不会受...原创 2019-11-05 19:15:40 · 200 阅读 · 0 评论 -
HashMap源码分析
简介Map接口的基于散列表的一种实现,和Hashtable大致相同,除了不支持null值。非线程安全.HashMap无法保证元素的顺序,特别是,它不能保证顺序会随着时间的推移保持恒定。类继承关系可被序列化,可被克隆,继承AbstractMap抽象类,实现Map接口属性//默认初始容量static final int DEFAULT_INITIAL_CAPACITY = 1 <...原创 2019-10-23 23:06:35 · 193 阅读 · 0 评论 -
Stack源码解析
简介Stack是一个先进先出(LIFO)的队列。通过五个操作扩展了Vector类,所以能被当作栈对待。分别是,push、pop、peek、empty、search。类继承关系方法//构造一个空对象public Stack() {}//入栈public E push(E item) { addElement(item); return item;}//出栈...原创 2019-10-23 18:45:51 · 187 阅读 · 0 评论 -
LinkedList源码分析
类继承关系Serializable 可悲序列化Cloneable 能被复制实现Deque(双端队列)接口 能够在头和尾操作元素继承AbstractSequentialList类 提供了顺序访问的基本实现LinkedList是一个双向链表,允许所有元素,包括null属性transient int size = 0; //元素个数transient Node<E> ...原创 2019-10-22 11:49:40 · 120 阅读 · 0 评论 -
Vector源码分析
简介List接口的可增长数组的实现。内部是一个数组,可以使用下标访问。此集合是为同步集合。继承体系可以看出,Vector继承体系和ArrayList一样。和ArrayList区别基本操作和ArrayLIst一样,主要是Vector是同步的集合,看看里面的方法。基本都带了synchronized同步。public synchronized boolean equals(Object ...原创 2019-10-23 17:37:25 · 133 阅读 · 0 评论 -
ArrayList源码分析
属性//默认容量private static final int DEFAULT_CAPACITY = 10;//当size=0的时候设置元素private static final Object[] EMPTY_ELEMENTDATA = {};//用以实例化默认创建的实例private static final Object[] DEFAULTCAPACITY_EMPTY_EL...原创 2019-10-17 19:54:30 · 117 阅读 · 0 评论