JAVA集合
JAVA集合框架
keeper42
Just do one thing and do it well! 要么别做,要做就做到最好!
展开
-
【Java集合】Map源码
【Java集合】Map源码原创 2022-02-26 22:44:50 · 180 阅读 · 0 评论 -
【Java集合】Set源码
【Java集合】Set源码原创 2022-02-20 13:10:26 · 471 阅读 · 0 评论 -
【Java集合】Queue源码
【Java集合】Queue源码原创 2022-02-19 23:19:05 · 376 阅读 · 0 评论 -
【并发编程】JDK1.8 HashMap
一、与1.7相比的重大变化 取消了segment数组,直接用table保存数据,锁的粒度更小,减少并发冲突的概率。 存储数据时采用了链表+红黑树的形式,纯链表的形式时间复杂度为O(n),红黑树则为O(logn),性能提升很大。什么时候链表转红黑树?当key值相等的元素形成的链表中元素个数超过8个的时候。 二、主要数据结构和关键变量 Node类存放实际的key和value值。 sizeCtl: 负数:表示进行初始化或者扩容,-1表示正在初始化,-N,表示有N-1个线程正在进行扩容 正数:0 表原创 2022-02-13 15:55:30 · 134 阅读 · 0 评论 -
【Java集合】List源码
1. LinkedList LinkedList内部结构是双向链表,继承 AbstractSequentialList 类(继承自 AbstractList),除了实现List接口外还实现了Deque队列接口。它线程不安全。 LinkedList成员变量以及Node节点的数据结构如下(阅读其源码可知,节点中的item元素可以为null): public class LinkedList<E> ... { transient int size = 0; trans原创 2022-02-13 12:13:33 · 521 阅读 · 0 评论