HashMap中几点需要注意的地方

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/immrwk/article/details/80757081
  1. HashMap本身的算法保证,会使key hash之后下标的分布尽可能的分散
  2. 2倍扩容的做法是为了保证分散性,扩容完成之后,要把原来的节点移动一下,链表的位置要么是原来的位置不动,要么是原来的位置+oldCap
  3. 位置相同时,后面的节点用链表挂在下面,当链表长度超过8个时,将链表转为用红黑树存储(jdk1.8之后)
  4. get的时候回根据hash和key共同决定取哪个,先看hash是否相同,再看key是不是一样

猜你喜欢

转载自blog.csdn.net/immrwk/article/details/80757081