HashMap结构详解

jdk1.8版本中的HashMap,采用Node数组和链表(或treeNode)的方式实现

HashMap的结构图:

HashMap结构详解
首先有一个Node数组(最左边是node数组)(包含hash,key,value,链表节点),当添加一个元素(key-value)时,就首先计算元素key的hash值,以此确定插入数组中的位置,但是可能存在同一hash值的元素已经被放在数组同一位置了,这时就添加到同一hash值的元素的后面,他们在数组的同一位置,但是形成了链表,同一各链表上的Hash值是相同的,所以说数组存放的是链表。而当链表长度太长时,链表就转换为红黑树,这样大大提高了查找的效率。

相关文章:

  • 2021-08-08
猜你喜欢
  • 2021-11-17
  • 2022-12-23
  • 2021-05-01
  • 2021-09-25
  • 2021-11-13
  • 2022-12-23
  • 2021-05-23
相关资源
相似解决方案