美文网首页
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