java.util.IdentityHashMap类
java.util.IdentityHashMap 类实现了Map接口的哈希表,比较键(和值)时使用引用相等性代替对象相等的下面是IdentityHashMap有关的要点:
-
这个类提供了所有可选的映射操作,并且允许null值和null键。
-
这个类不保证为向地图的顺序;特别是,它不保证该顺序将继续随时间恒定。
-
在IdentityHashMap中,两个键k1和k2被认为是当且仅当(K1== K2)相等,而在Map实现(如HashMap的)两个键k1和k2被认为是相等当且仅当(K1== NULL?K2== NULL:k1.equals(K2))。
类声明
以下是java.util.IdentityHashMap类的声明:
public class IdentityHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Serializable, Cloneable
类构造函数
S.N. | 构造函数 & 描述 |
---|---|
1 |
IdentityHashMap() 此构造一个新的空标识哈希映射具有默认期望最大尺寸(21)。 |
2 |
IdentityHashMap(int expectedMaxSize) 此构造一个新的空地图与指定期望的最大尺寸。 |
3 |
IdentityHashMap(Map<? extends K,? extends V> m) 这个构造包含指定映射中键 - 值映射关系的新标识哈希映射。 |
类方法
S.N. | 方法 & 描述 |
---|---|
1 |
void clear() 此方法删除所有来自此映射中的映射。 |
2 |
Object clone() 此方法返回此标识哈希映射的浅表副本:键和值本身不被复制。 |
3 |
boolean containsKey(Object key) 此方法测试指定的对象引用是否为此标识哈希映射中的键。 |
4 |
boolean containsValue(Object value) 此方法测试指定的对象引用是否为值在此标识哈希映射。 |
5 |
Set<Map.Entry<K,V>> entrySet() 此方法返回此映射中包含的映射关系的Set视图。 |
6 |
boolean equals(Object o) 此方法将指定对象与此映射的相等性比较。 |
7 |
V get(Object key) 这个方法返回指定键所映射的值,或者null,如果此映射不包含该键。 |
8 |
int hashCode() 此方法返回返回这个映射的哈希码值。 |
9 |
boolean isEmpty() 如果此标识哈希映射不包含键 - 值映射关系,此方法返回true。 |
10 |
Set<K>keySet() 此方法返回此映射中包含的键的基于标识的set视图。 |
11 |
V put(K key, V value) 此方法将指定的值与此标识哈希映射中的指定键。 |
12 |
void putAll(Map<? extends K,? extends V> m) 这个方法会将所有从指定映射此映射中的映射。 |
13 |
V remove(Object key) 此方法删除映射为这个键从该映射如果存在的话。 |
14 |
int size() 此方法返回键 - 值映射关系在此标识哈希映射的数量。 |
15 |
Collection<V> values() 此方法返回返回此映射中包含的值的Collection视图。 |
方法继承
这个类从以下类继承的方法:
-
java.util.AbstractMap
-
java.util.Object