HashMap在JDK1.7之前是数组+链表的形式,在JDK1.7之后是数组+链表或红黑树的形式,当链表长度超过8时,自动转换成红黑树 HaspMap put的时候先拿到扰动后的hashcode,然后用(n-1)&hash计算下标位置,判断下标有没有值,如果没有值就直接放,有的话就用EntrySet进行遍历,然后用equals方法进行比较
注意:本文归作者所有,未经作者允许,不得转载
HashMap在JDK1.7之前是数组+链表的形式,在JDK1.7之后是数组+链表或红黑树的形式,当链表长度超过8时,自动转换成红黑树 HaspMap put的时候先拿到扰动后的hashcode,然后用(n-1)&hash计算下标位置,判断下标有没有值,如果没有值就直接放,有的话就用EntrySet进行遍历,然后用equals方法进行比较
注意:本文归作者所有,未经作者允许,不得转载