![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
集合
文章平均质量分 90
Java集合
思静语
大道至简,行稳致远
展开
-
HashMap详解和实现原理
HashMap1.7 版本中,底层是基于数组+链表实现的,如果发生Hash 冲突概率问题,会存放到同一个链表中,链表如果过长 会从头查询到尾部效率非常低HashMap1.8 版本 (数组容量>=64&链表长度大于8)就会将该链表转化红黑树。HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射 操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。原创 2023-11-06 22:58:19 · 298 阅读 · 0 评论 -
Set集合详解Java
元素的哈希值是通过元素的hashcode 方法来获取的, HashSet 首先判断两个元素的哈希值,如果哈希值一样,接着会比较equals 方法 如果 equls 结果为 true ,HashSet 就视为同一个元素。当你把对象加入 HashSet 时,HashSet 会先计算对象的 hashcode 值来判断对象加入的 位置,同时也会与其他加入的对象的 hashcode 值作比较,如果没有相符的 hashcode,另一方面,TreeSet是由一个树形的结构来实现的,它里面的元素是有序的。原创 2023-11-06 22:38:14 · 57 阅读 · 0 评论 -
HashMap详解
HashMap 基于哈希表的 Map 接口实现,是以 key-value 存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的 key、value 都可以为 null,此外,HashMap 中的映射不是有序的。默认初始16个大小,扩容*2 负载因子是0.75。原创 2023-11-06 23:08:16 · 53 阅读 · 0 评论 -
Java中for、foreach、stream区别和性能比较
如果数据量在10万的时候,stream效率最高,其次是foreach,最后是for。另外需要注意的是如果数据达到100万的话,parallelStream异步并行处理效率最高,高于foreach和for。stream().forEach 和 forEach 方法都可以使用在集合类上,但是有一些区别。在效率方面,stream().forEach、forEach 和 parallelStream 之间存在一些差异。stream().forEach() 和 forEach() 在使用方式和行为上有一些区别。原创 2023-11-17 23:07:49 · 7475 阅读 · 2 评论