[java] view plaincopy static class Entry implements
Map.Entry { final K key;V value;Entry next;final int hash;
/** * Creates new entry. */ Entry(int h, K k, V v, Entry
n) { value = v;next = n;key = k;hash = h;}……
public final boolean equals(Object o) { if (!(o instanceof
Map.Entry))
return false;Map.Entry e = (Map.Entry)o;Object k1 = getKey
();Object k2 = e.getKey();if (k1 == k2 || (k1 != null &&
k1.equals(k2))) { Object v1 = getValue();Object v2 =
e.getValue();if (v1 == v2 || (v1 != null && v1.equals(v2)))
return true;} return false;}
public final int hashCode() { return (key==null ? 0 :
key.hashCode()) ^(value==null ? 0 : value.hashCode());}……
这是一个HashMap类的内部静态类。实现了Map.Entry接口。接受两个模板参数K和V.key和hash一旦在构造函数中被初始化,就不可改变,并且
由于有next的存在,Entry可以构成一个单向链表。
Map.Entry { final K key;V value;Entry next;final int hash;
/** * Creates new entry. */ Entry(int h, K k, V v, Entry
n) { value = v;next = n;key = k;hash = h;}……
public final boolean equals(Object o) { if (!(o instanceof
Map.Entry))
return false;Map.Entry e = (Map.Entry)o;Object k1 = getKey
();Object k2 = e.getKey();if (k1 == k2 || (k1 != null &&
k1.equals(k2))) { Object v1 = getValue();Object v2 =
e.getValue();if (v1 == v2 || (v1 != null && v1.equals(v2)))
return true;} return false;}
public final int hashCode() { return (key==null ? 0 :
key.hashCode()) ^(value==null ? 0 : value.hashCode());}……
这是一个HashMap类的内部静态类。实现了Map.Entry接口。接受两个模板参数K和V.key和hash一旦在构造函数中被初始化,就不可改变,并且
由于有next的存在,Entry可以构成一个单向链表。