![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
集合
文章平均质量分 95
yours_棒棒糖
间歇性踌躇满志,持续性混吃等死!!!难搞喔!!
生活不易,继续前行,为了成为最好的自己!
刷题记录,博客:https://github.com/can19960229/Candy_leetcode
展开
-
【HashMap】关于HashMap的一些面试问题
讲讲 HashMap 的内部数据结构?JDK1.8 版本的,内部使用数组 + 链表 / 红黑树。HashMap的数据结构图HashMap的插入原理判断数组是否为空,为空进行初始化;不为空,计算 k 的 hash 值,通过 (n - 1) & hash计算应当存放在数组中的下标 index ;查看 table[index] 是否存在数据,没有数据就构造一个 Node 节点存放在 table[index] 中;存在数据,说明发生了 hash 冲突,继续判断 key 是否相等,如果相等原创 2021-04-15 10:17:05 · 92 阅读 · 0 评论 -
Java源码分析——集合容器
目录集合-容器Collection单列集合SetTreeSetHashSetLinkedHashSetListArrayListLinkedListVectorQueueMap双列集合Map中的集合核心特性自动扩容初始化与懒加载哈希计算位运算并发1. 悲观锁2. 乐观锁3. 并发求和SortedMapTreeMapHashTableLinkedHashMap【重点】HashMap【重点】ConcurrentHashMap接口ComparableComparator区别1. ArrayList与LinkedL原创 2021-04-02 09:16:51 · 169 阅读 · 0 评论 -
Java Map中的核心特性——扩容、初始化与懒加载、哈希计算、位运算、并发
目录Map中的集合核心特性自动扩容初始化与懒加载哈希计算位运算并发1. 悲观锁2. 乐观锁3. 并发求和Map中的集合核心特性自动扩容 最小可用原则,容量超过一定阈值便自动进行扩容。扩容是通过resize方法来实现的。扩容发生在putVal方法的最后,即写入元素之后才会判断是否需要扩容操作,当自增后的size大于之前所计算好的阈值threshold,即执行resize操作。通过位运算<<1进行容量扩充,即扩容1倍,同时新的阈值newThr也扩容为老阈值的1倍扩容时,原创 2021-03-31 17:13:55 · 346 阅读 · 0 评论 -
HashSet如何保证元素的唯一性?
HashSet如何保证元素的唯一性? HashSet存储自定义对象来保证唯一性。原创 2020-06-12 10:30:34 · 1448 阅读 · 0 评论 -
java基础-容器专题-Collection-Map
容器目录 容器1.Collection:存储着对象的集合1. Set接口:**集,无序,不可重复**2. List接口:**序列,排列有序,可重复**3. Queue接口2.Map:存储着键-值对的映射表,能够实现key快速查找value3. 泛型4. Collection.sort() 对序列中的元素进行排序5. 代码测试实现学生类课程类Set接口的TestMap接口的TestList接口的Test泛型的TestCollections接口的Test测试1.Collection:存储着对象的集合1.原创 2020-06-09 20:39:30 · 280 阅读 · 0 评论