Java.util.IdentityHashMap 类
简介
java.util.IdentityHashMap 类使用哈希表实现 Map 接口,在比较键(和值)时使用引用相等代替对象相等。以下是关于 IdentityHashMap 的要点 −
此类提供所有可选的映射操作,并允许空值和空键。
这个类不保证映射的顺序; 特别是,它不保证订单会随着时间的推移保持不变。
在 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
类构造函数
序号 | 构造函数 & 描述 |
---|---|
1 | IdentityHashMap() 这会构造一个新的空身份哈希映射,其默认的预期最大大小为 (21)。 |
2 | IdentityHashMap(int expectedMaxSize) 这将构造一个具有指定预期最大大小的新空映射。 |
3 | IdentityHashMap(Map<? extends K,? extends V> m) 这会构造一个新的身份哈希映射,其中包含指定映射中的键值映射。 |
类方法
序号 | 方法 & 描述 |
---|---|
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()
此方法返回此映射中包含的键的基于身份的集合视图。 |
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