关于位与运算和桶满了
来源:10-4 HashMap
莨菽菽
2020-06-02
一直对二进制的东西很懵,就知道代码里面用位运算替代加减乘除会效率高一些,看了文章也一头雾水,什么高八位低八位的
1.老师能讲下位运算平时工作的用途还有能大概讲解或者资料一下,能阐述下二进制和位运算的白话点的概念么?因为我也看过相关文章总是吸收不了
2.还有就是面试会问这个hash()的具体过程么?要像老师这样说整个过程说么?
3.桶满了是指某个数组元素下的链表长度>16*0.75么
4.这个16是整个hashmap的大小么?有点搞不懂,如果开始设置大小是16,那是实际是数组长度为16还是比如数组长度为8,预留另外8个可能某个数组元素下的bucket长度?
写回答
1回答
-
翔仔
2020-06-03
同学好,1.位运算可以看看这个 https://cloud.tencent.com/developer/article/1383116
一般是通过位运算来替代乘除,这样运算的效率是非常高的,后续我看看是否能够加一章内容来讲解这个
2.面试的时候先讲解大致流程即可,一般不会问得太细
3.桶满是指每个bucket都有东西了,如果同学说的是扩容限度,那么除了同学说的之外,还有就是达到了有东西的bucket的阈值,默认table.length * loadFactor
4. 16是bucket总数,即数组长度
00
相似问题