美文网首页
Java HashMap 集合类简介

Java HashMap 集合类简介

作者: 拉肚 | 来源:发表于2015-09-29 23:43 被阅读59次

java HashMap是一个数组和链表组成的。

链表:一条线性的,通过某些算法指向数组的index(int hash = key.hashCode();int index = (hash & 0x7FFFFFFF) % table.length;)

hash:不是唯一对应与key的,可能多个key指向同一个hash

table[index]:table就是数据,table[index]就是一个链表

Entry:this.key= key;

           this.value= value;

           this.hash= hash;

           this.next= next;  //它的后一个  这样一个接着一个形成链表

在put的时候通过key,然后使用算法得到index,然后判断数组的这个index项是否有key了,如果有了是否有同一个key(因为是链表),如果同样就是覆盖。如果没有就新建一个,并且他永远是链表的头(table[index] =newHashMapEntry(key,value,hash,table[index]);)

参考资料:


Java Map 集合类简介

boy00fly.iteye.com/blog/1139845


HashMap实现原理分析 - Alpha's 学习笔记 - 博客频道 - CSDN.NET

相关文章

网友评论

      本文标题:Java HashMap 集合类简介

      本文链接:https://www.haomeiwen.com/subject/deawcttx.html