有个疑问?

来源:3-4 HashMap构造方法优化1

taojia

2020-06-18 12:40

假如要录入的数据是14000条或者20000条,容量是16384,会扩容吗?

比如:key通过hash取址后只有10000个不同的地址,其他的都是相同的

写回答 关注

1回答

  • 隔壁老杜不风流
    2020-06-24 10:01:31

    不会,老师讲的很明白了,如果不发生碰撞的话,是会扩容,照你的比如,key通过hash取址后只有10000(超过12288才会扩容),未达到16384*0.75=12288,所以是不会扩容的,这是我的理解,如果回答错误还望指正。

    botao5...

    你的理解应该是不对的, 扩容的触发条件不是数组的大小, 而且map里存的条数! 也就是说, 只要存到12288个不同的key, 不管这些key有没有hash碰撞, 都会触发扩容.

    2021-01-31 15:09:46

    共 1 条回复 >

Map从入门到性能分析

拒绝HaspMap一条道走到黑,带你选择最合适的Map

8511 学习 · 14 问题

查看课程

相似问题