Java.util - IdentityHashMap
介绍 (Introduction)
java.util.IdentityHashMap类使用哈希表实现Map接口,在比较键(和值)时使用引用相等性代替对象相等。以下是关于IdentityHashMap的重点 -
此类提供所有可选的映射操作,并允许空值和空键。
这个类不保证地图的顺序; 特别是,它不保证订单会随着时间的推移保持不变。
在IdentityHashMap中,当且仅当(k1 == k2)时,两个密钥k1和k2被认为是相等的,而在Map实现中(如HashMap),当且仅当(k1 == null?k2)时,两个密钥k1和k2被认为是相等的== null:k1.equals(k2))。
类声明
以下是java.util.IdentityHashMap类的声明 -
public class IdentityHashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Serializable, Cloneable
类构造函数
Sr.No. | 构造函数和描述 |
---|---|
1 | IdentityHashMap() 这构造了一个新的空标识哈希映射,其具有默认的预期最大大小(21)。 |
2 | IdentityHashMap(int expectedMaxSize) 这将使用指定的预期最大大小构造一个新的空映射。 |
3 | IdentityHashMap(Map《? extends K,? extends V》 m) 这构造了一个新的标识哈希映射,其中包含指定映射中的键 - 值映射。 |
类方法
Sr.No. | 方法和描述 |
---|---|
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