书读的少你别骗我。。。hashmap源码  int capacity = 1 ; // 初始容量 14 while (capacity < initialCapacity) //确保容量为2的n次幂,使capacity为大于initialCapacity的最小的2的n次幂 15 capacity <<= 1; 16 17 this.loadFactor = loadFactor; 18 threshold = (int)(capacity * loadFactor); 19 table = new Entry[capacity]; if  (numKeysToBeAdded > threshold) {               // 重新计算新的容量先resize                int  targetCapacity = ( int )(numKeysToBeAdded / loadFactor +  1 );               if  (targetCapacity > MAXIMUM_CAPACITY)                   targetCapacity = MAXIMUM_CAPACITY;               int  newCapacity = table.length;               while  (newCapacity < targetCapacity)                   newCapacity <<= 1 ;               if  (newCapacity > table.length)                   resize(newCapacity);   扩容为两倍,部位2N次补齐再两倍
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
06-24 14:18
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 Java
一口洪烧肉:哈哈哈哈哈哈哈哈哈哈哈硬要啊
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务