在学习HashMap源码相关内容的文章时,阅读到如下代码
public HashMap() {
this.loadFactor = DEFAULT_LOAD_FACTOR;
threshold = (int)(DEFAULT_INITIAL_CAPACITY * DEFAULT_LOAD_FACTOR);
table = new Entry[DEFAULT_INITIAL_CAPACITY];
init();
}
对于Entry这个类,是先想到了这个entrySet()方法,它的返回值是Set<Map.Entry<K,V>>,我先查阅api文档,发现Map接口里实现了一个名为Entry的接口,但在Map和HashMap中都没有查找到Entry这个实现类。上网查阅才发现原来api文档是没有这个类,查阅HashMap源码终于找到了这个内部类,部分代码如下
static class Entry<K,V> implements Map.Entry<K,V> {
final K key;
V value;
Entry<K,V> next;
int hash;
/**
* Creates new entry.
*/
Entry(int h, K k, V v, Entry<K,V> n) {
value = v;
next = n;
key = k;
hash = h;
}
public final K getKey() {
return key;