校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > HashMap、Hashtable、concurrentthashmap
题目

HashMap 有什么特点?1.7和1.8底层结构有什么区别?

解答

DK8 之前底层实现是数组 + 链表,JDK8 改为数组 + 链表/红黑树,节点类型从Entry 变更为 Node。
主要成员变量包括存储数据的 table 数组、元素数量 size、加载因子 loadFactor。

table 数组记录 HashMap 的数据,每个下标对应一条链表,所有哈希冲突的数据都会被存放到同一条链表,
Node/Entry 节点包含四个成员变量:key、value、next 指针和 hash 值。

HashMap 中数据以键值对的形式存在,键对应的 hash 值用来计算数组下标,如果两个元素 key 的 hash 值一样,
就会发生哈希冲突,被放到同一个链表上,为使查询效率尽可能高,键的 hash 值要尽可能分散。

HashMap 默认初始化容量为 16,扩容容量必须是 2 的幂次方、最大容量为 1<< 30 、默认加载因子为 0.75。

C 4条回复 评论
飙车去旅行

面试官逮着我问内存溢出和内存泄露,k8s,测试前置,jekins集群的问题

发表于 2022-04-29 21:00:00
0 0
山田心的平方

有没有蜕变测试或者ai测试的教程

发表于 2021-11-16 21:00:00
0 0
夏至末日

有知道笔记在哪下载的吗,跪求老师笔记

发表于 2021-09-11 23:35:00
0 0
目田

适合初学者

发表于 2021-09-10 14:05:00
0 0