HashMap的默认长度为什么是16?其他数字行不行?_hashmap为什么要指定长度-CSDN博客

网站介绍:文章浏览阅读3.1k次,点赞2次,收藏9次。之前在网上看到的一个面试题,觉得挺有意思的,找了相关资料,看了HashMap的源码,今天有时间,写上来。(JDK版本1.9,其他版本的源码可能有出入)首先来看HashMap中的一段代码注释就说的很清楚了,默认的初始容量 - 必须是2的幂。也就是说,HashMap的长度自己定义的时候,只要是2的次幂就行。那么为什么要是2的次幂?3的次幂行不行?我们接着往下看。来看HashMap的put方法:..._hashmap为什么要指定长度