HashMap源码解读

1、底层实现

  1. jdk1.7:数组+链表
  2. jdk1.8:数组+链表+红黑树

2、特点

  1. 优点:
    1. 数组:查询快,插入删除慢
    2. 链表:查询慢,插入删除快
  2. 红黑树:为了解决链表的查询问题而生

3、为什么要加入红黑树?

意义:解决链表查询问题

4、添加元素时,直接使用红黑树?

  • 不是的,他是要等链表的长度大于等于8,和数组长度大于等于64才使用红黑树
  • 为什么呢?
  • 因为红黑树有个左旋和右旋的操作,通过泊松分布算出当链表长度为8时,链表相对于红黑树的操作复杂度才变大。

5、HashMap源码解读

  • 尾插法
    Java HashMap的解读

j

相关文章:

  • 2021-08-25
  • 2022-02-10
  • 2022-12-23
  • 2022-12-23
  • 2021-09-10
猜你喜欢
  • 2022-01-23
  • 2021-09-26
  • 2023-03-22
  • 2021-09-15
  • 2021-06-29
  • 2021-07-27
  • 2021-07-22
相关资源
相似解决方案