【java常问面试题】HashMap夺命五连问,全回答出来直接封神

作者: Mic聊java分类: 计算机技术 发布时间: 2023-05-11 16:10:28 浏览:29736 次

【java常问面试题】HashMap夺命五连问,全回答出来直接封神

booktv2008:
hashMap首先使用了数组,当添加元素时,会用散列函数计算出key在数组中的位置,数组的槽中是一个链表,如果该位置是空的,元素会存进这个位置链表中的第一个位置;当再key散列到这个位置则产生冲突,会调用equals比较,如果eq相等则是替换value,如果不相等则添加到链表的后面;当链表长度大于8时,为了避免链表过深,使用了红黑树进行优化。

【回复】回复 @booktv2008 : 尾插也不用
【回复】回复 @别光说不做 :现在是尾插法吧,1.7之后都变成尾插了,头插线程不安全
【回复】回复 @别光说不做 :在头部插入就不用去遍历到末位,效率更高了!
芳葬c:
???我怎么感觉第一个问题也没回答完阿

肥宅快乐水总代理:
面试官在日常开发中,使用hashmap的时候会去思考hashmap的底层原理、扰动函数、红黑树、哈希冲突吗?

程序员 编程语言 编程 hashMap 八股文 Java java基础 java程序员 Java面试 java八股文

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读