hashmap源码分析1

之前看过hashmap源码,感觉最近有些遗忘,写一波复习一遍,首先查看hashmap的继承体系,可以发现hashMap实现了map,cloneble,serializable接口这些接口应该都很熟悉了吧,其次hashmap继承自abstractmap查看这个父类,发现他是一个抽象类,因此其中有些方法是可以复写的,具体方法查看源码可以发现包括entrySet其他方法可以看做map这种数据结构都通用的方法。
接下来看下hashmap重要属性,我们从前到后依次查看第一个是
    private static final long serialVersionUID = 362498820763181265L;
这个是关于类序列化的,如果忘了,可以查看具体知识
static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;
hashmap的默认初始化容量,说的通俗点就是你创建了hashmap之后,初始情况下的容量,这里用了位运算十进制为16,之所以这样这样子运算速度较快
static final int MAXIMUM_CAPACITY = 1 << 30;
这是hashmap的最大容量,就是你创建的hashmap最多只能这么大,超过这么大系统可能就不能创建了,至于这个值也是用的位运算,结果是2的30次方具体多少赶你兴趣的可以去计算计算。
static final float DEFAULT_LOAD_FACTOR = 0.75f;
下一个float类型答案是0.75.行话说的是反应当前hashmap满的程度,感觉说的还是让初次接触的人云里雾里的,其实说白了可以这么认为不是你hashmap创建以后有一个默认长度吗,就拿16来说,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值