Java 简明教程
Java IdentityHashMap Class
Introduction
Java IdentityHashMap 类使用哈希表实现 Map 接口,在比较键(和值)时使用引用相等性来代替对象相等性。以下是有关 IdentityHashMap 的重要几点:
-
此类提供所有可选的映射操作,并允许多个空值和空键。
-
此类不保证映射的顺序;特别地,它不保证顺序随时间保持不变。
-
在 IdentityHashMap 中,当且仅当 (k1==k2) 时,两个键 k1 和 k2 才被视为相等,而在 Map 实现(如 HashMap)中,当且仅当 (k1==null ? k2==null : k1.equals(k2)) 时,两个键 k1 和 k2 才被视为相等。
Class declaration
以下是 java.util.IdentityHashMap 类的声明:
public class IdentityHashMap<K,V>
extends AbstractMap<K,V>
implements Map<K,V>, Serializable, Cloneable
Adding a Key-Value Mapping in an IdentityHashMap Example
以下示例展示了 Java IdentityHashMap put() 方法的用法,以将几个值放入映射中。我们创建了一个 Integer,Integer 的映射对象。然后使用 put() 方法添加了一些条目,然后打印映射。
package com.tutorialspoint;
import java.util.IdentityHashMap;
public class IdentityHashMapDemo {
public static void main(String args[]) {
// create identity map
IdentityHashMap<Integer,Integer> newmap = new IdentityHashMap<>();
// populate identity map
newmap.put(1, 1);
newmap.put(2, 2);
newmap.put(3, 3);
System.out.println("Map elements: " + newmap);
}
}
让我们编译并运行以上的程序,这会生成以下结果:
Map elements: {2=2, 3=3, 1=1}