HashMap底层是数组+链表组成(1.7之前)。
原理:当我们往HashMap存放值的时候,需要先计算键的Hash值,然后再使用哈希值%数组的长度,这样就在数组的length中进行存放,但是当key足够多的时候,很有可能一个数组的索引下会有多个值进行存放,这时候就需要链表来存储不同的值。每次存在头节点。
put源码:
HashMap底层是数组+链表组成(1.7之前)。
原理:当我们往HashMap存放值的时候,需要先计算键的Hash值,然后再使用哈希值%数组的长度,这样就在数组的length中进行存放,但是当key足够多的时候,很有可能一个数组的索引下会有多个值进行存放,这时候就需要链表来存储不同的值。每次存在头节点。
put源码: