HashMap源码阅读

HashMap源码阅读_第1张图片

hashMap继承自AbstractMap,实现了Cloneable和Serializable接口 。

HashMap源码阅读_第2张图片

 hashmap默认初始化容量为2^4,为16,最大容量为2^30,这对于绝大多数集合容量来说,已经足够用。

对于hashMap的实现而言,它定义了一个Node的内部类,hashMap的数据操作通过对内部的Node增删改查来实现。

HashMap源码阅读_第3张图片

Node是一个单链表结构,成员变量有hash、key、value已经下一个节点next,其中,要注意的是,每个node的hash值以及key是不可改变的 ,因此对于hashMap而言,它的键(key)是一旦创建便不能被修改的!

HashMap源码阅读_第4张图片

hashmap实质上是通过装载Node节点的数组实现的,它就是一个Node数组

HashMap源码阅读_第5张图片

你可能感兴趣的:(java,集合)