详解HashMap内部实现原理
内部数据结构
static class Entry<K,V> implements Map.Entry<K,V> {
final K key;
V value;
Entry<K,V> next;
int hash;
从上面的数据结构定义可以看出,HashMap存元素的是一组键值对的链表,以什么形式存储呢
transient Entry<K,V>[] table = (Entry<K,V>[]) EMPTY_TABLE;
可以看出,是以数组形式储存,好的,现在我们知道,HashMap是以数组形式存储,每个数组里面是一个键值对,这个键值对还可以链接到下个键值对。如下图所示:
hashmap的添加