![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
容器/集合
文章平均质量分 95
关于Java容器的理解和源码阅读
-乌鸦
独善其身
展开
-
头脑风暴 HashMap源码+底层数据结构分析
HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。 HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“拉链法”解决冲突)。 JDK1.8 以后的 HashMap 在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认原创 2021-12-08 23:44:15 · 116 阅读 · 0 评论 -
至强ConcurrentHashMap,源码+底层数据结构分析
至强ConcurrentHashMap源码剖析原创 2021-12-08 10:42:19 · 145 阅读 · 0 评论 -
最骚的ArrayList 源码+扩容机制分析
1. ArrayList 简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayList继承于 AbstractList ,实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口。 public class ArrayList<E>原创 2021-12-07 01:04:03 · 154 阅读 · 0 评论 -
LinkedList源码分析
简介 LinkedList是一个实现了List接口和Deque接口的双端链表。 LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性; LinkedList不是线程安全的,如果想使LinkedList变成线程安全的,可以调用静态类Collections类中的synchronizedList方法: List list=Collections.synchronizedList(new LinkedList(...)); 内部结构原创 2021-12-05 22:45:09 · 82 阅读 · 0 评论