![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java集合
文章平均质量分 94
被毒打的小镇人
someday...
someday...
someday...
展开
-
Java集合系列 HashMap底层源码 万字细致解读(超通俗易懂)
在Java8中使用的是**数组 + 链表 + 红黑树**,发生散列冲突的键值对会用**尾插法**添加到单链表中。如果链表的长度大于8且散列表的容量大于64,则会将链表树化为红黑树。当扩容再散列时,如果红黑树的长度低于6,则会还原为链表。原创 2023-12-22 09:57:01 · 838 阅读 · 0 评论 -
Java集合系列 HashSet底层源码 细致解读(超通俗易懂)
`HashSet`是实现`Set`接口,底层数据结构是**哈希表`HashMap`**,它保存的元素都是**非重复的元素**,但是不保证迭代的顺序。原创 2024-01-25 17:06:24 · 997 阅读 · 0 评论 -
Java集合系列 哈希 / 散列表详细介绍(超通俗易懂)
散列表(Hash Table):也被称为**哈希表**,是一种常见的数据结构,用于存储键值对。散列表是基于散列思想实现的**Map数据结构**。原创 2023-11-07 17:21:05 · 125 阅读 · 0 评论 -
Java集合系列 Vector底层源码 细致解读(超通俗易懂)
`Vector`是Java集合中**线程安全**的**动态数组**,它可以根据需要进行扩容或减少容量,它与`ArrayList`类似,但有一个重要区别:`Vector`是同步的,也就是说它的操作是线程安全的,在某些特定场景下是可以确保线程安全的,但是同时也会给性原创 2023-11-06 15:26:03 · 236 阅读 · 0 评论 -
Java集合系列 LinkedList底层源码 万字细致解读(超通俗易懂)
Java中LinkedList是一个双向链表实现的集合类,它其中每一个元素都是一个节点,每个节点都包含一个数据元素和一个指向下一个节点的引用,因此LinkedList的元素是通过节点之间的链接来组织的。原创 2023-11-05 16:18:38 · 59 阅读 · 0 评论 -
Java集合系列 ArrayList底层源码 万字细致解读(超通俗易懂)
`ArrayList`是基于**数组实现**,底层的数据结构是顺序表(物理内存上连续),并且支持**动态扩容**。因而相较于数组而言,因为其支持**自动扩容**,成为我们开发中最常用的集合之一。原创 2023-11-03 10:31:03 · 130 阅读 · 0 评论 -
Java集合系列 Iterable、Iterator这俩兄弟细致解读(超通俗易懂)
Iterable接口是为了达到实现该接口的类,可以使用foreach循环的目的。Iterator接口是基于迭代器模式,实现了对聚合类的存储和遍历的分离。原创 2023-10-31 15:46:06 · 1154 阅读 · 0 评论