hashMap一些知识点的冲突
来源:10-4 HashMap
莨菽菽
2020-06-23
老师好:
面试的时候,面试官说bucket是指table这一段,而不是图中链表这一段。。不知道哪个对了
扩容的时候,老师是说容量为什么是2^n次方,是说内部有个高效取模算法是需要入参是2^n,但是面试官说是因为除了第一次取模后,后序扩容都是2倍,用再hash运算,扩容的时候是比如{1,2,3,4}扩容就变成{1,3}+{2,4}这样错位移动到扩容的位置。。这个说法是对的么
问了红黑树的红和黑代表什么。。红黑树找了文章看不懂。有没有比较简单的描述
写回答
1回答
-
同学好,
当hashmap建立时会创建一个数组,这个数组中存储元素的位置是一个桶bucket;
是对的呀,因为高效取模算法的意义,扩容的意义在于减少冲突,也就是将数据均匀散落在各个bucket中
推荐一个链接 https://www.sohu.com/a/202490920_468650
032020-06-26
相似问题