首页
学习
活动
专区
工具
TVP
发布

java小白

专栏作者
97
文章
137217
阅读量
27
订阅数
为什么hashMap的容量是2的幂次
HashMap通过哈希算法得出哈希值之后,将键值对放入哪个索引的方法 static int indexFor(int h, int length) { // assert Integer.bitCount(length) == 1 : "length must be a non-zero power of 2"; return h & (length-1); } 假设 HashMap的容量为16转化成二进制为10000,length-1得出的二进制为011
秋白
2018-05-24
1.4K0
Jdk7HashMap源码分析
一、HashMap的成员变量 int DEFAULT_INITIAL_CAPACITY = 16:默认的初始容量为16 int MAXIMUM_CAPACITY = 1 << 30:最大的容量为 2 ^ 30 float DEFAULT_LOAD_FACTOR = 0.75f:默认的加载因子为 0.75f Entry< K,V>[] table:Entry类型的数组,HashMap用这个来维护内部的数据结构,它的长度由容量决定 int size:HashMap的大小 int
秋白
2018-05-24
4670
LinkHashMap源码详解
一、成员变量 private transient Entry<K,V> header;//循环双向链表的头 二、构造方法 LinkHashMap的构造方法和HashMap的构造方法一样,但是重写init()方法; @Override void init() { header = new Entry<>(-1, null, null, null); //将元素的前驱和后续都指向自己,图解 header.before = header.after
秋白
2018-05-24
5060
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档