Java常用类库与技巧 --- HashMap

HashMapJava常用类库与技巧 --- HashMap

Java常用类库与技巧 --- HashMap

Java常用类库与技巧 --- HashMap

HashMap : 内部结构源码

通过数组Node<k,v>[] table  (java8 之后叫Node)

和链表Set<Map.Entry<k,v>> entrySet 组合成的复合节点

如果链表的大小(默认是8)是 8 则会被改造成红黑色,如果小于6 则又会被改造成链表。以保证更高的性能。

HashMap 在首次被使用的时候才会初始化。

put()方法中的resize 方法具备扩容以及初始化的作用。

Java常用类库与技巧 --- HashMap

Java常用类库与技巧 --- HashMap

Java常用类库与技巧 --- HashMap

Java常用类库与技巧 --- HashMap

阿里热衷于问HashMap  甚至要写一个HashMap的实现