- Java.util 包类
- Java.util - 首页
- Java.util - ArrayDeque
- Java.util - ArrayList
- Java.util - Arrays
- Java.util - BitSet
- Java.util - Calendar
- Java.util - Collections
- Java.util - Currency
- Java.util - Date
- Java.util - Dictionary
- Java.util - EnumMap
- Java.util - EnumSet
- Java.util - Formatter
- Java.util - GregorianCalendar
- Java.util - HashMap
- Java.util - HashSet
- Java.util - Hashtable
- Java.util - IdentityHashMap
- Java.util - LinkedHashMap
- Java.util - LinkedHashSet
- Java.util - LinkedList
- Java.util - ListResourceBundle
- Java.util - Locale
- Java.util - Observable
- Java.util - PriorityQueue
- Java.util - Properties
- Java.util - PropertyPermission
- Java.util - PropertyResourceBundle
- Java.util - Random
- Java.util - ResourceBundle
- Java.util - ResourceBundle.Control
- Java.util - Scanner
- Java.util - ServiceLoader
- Java.util - SimpleTimeZone
- Java.util - Stack
- Java.util - StringTokenizer
- Java.util - Timer
- Java.util - TimerTask
- Java.util - TimeZone
- Java.util - TreeMap
- Java.util - TreeSet
- Java.util - UUID
- Java.util - Vector
- Java.util - WeakHashMap
- Java.util 包额外内容
- Java.util - 接口
- Java.util - 异常
- Java.util - 枚举
- Java.util 有用资源
- Java.util - 有用资源
- Java.util - 讨论
Java IdentityHashMap 类
介绍
Java IdentityHashMap 类使用哈希表实现 Map 接口,在比较键(和值)时使用引用相等性代替对象相等性。以下是关于 IdentityHashMap 的重要几点:
此类提供所有可选的映射操作,并允许空值和空键。
此类不保证映射的顺序;特别是,它不保证顺序会随时间保持不变。
在 IdentityHashMap 中,当且仅当 (k1==k2) 时,两个键 k1 和 k2 被认为相等,而在 Map 实现(如 HashMap)中,当且仅当 (k1==null ? k2==null : k1.equals(k2)) 时,两个键 k1 和 k2 被认为相等。
类声明
以下是java.util.IdentityHashMap类的声明:
public class IdentityHashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Serializable, Cloneable
类构造函数
序号 | 构造函数及描述 |
---|---|
1 | IdentityHashMap() 这将构造一个新的空 IdentityHashMap,默认预期最大大小为 (21)。 |
2 | IdentityHashMap(int expectedMaxSize) 这将构造一个新的空映射,具有指定的预期最大大小。 |
3 | IdentityHashMap(Map<? extends K,? extends V> m) 这将构造一个新的 IdentityHashMap,其中包含指定映射中的键值映射。 |
类方法
序号 | 方法及描述 |
---|---|
1 | void clear()
此方法从此映射中删除所有映射。 |
2 | Object clone()
此方法返回此 IdentityHashMap 的浅拷贝:键和值本身不会被克隆。 |
3 | boolean containsKey(Object key)
此方法测试指定的对象引用是否为此 IdentityHashMap 中的键。 |
4 | boolean containsValue(Object value)
此方法测试指定的对象引用是否为此 IdentityHashMap 中的值。 |
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()
如果此 IdentityHashMap 不包含任何键值映射,则此方法返回 true。 |
10 | Set<K> keySet()
此方法返回此映射中包含的键的基于标识的 Set 视图。 |
11 | V put(K key, V value)
此方法将指定的值与此 IdentityHashMap 中的指定键关联。 |
12 | void putAll(Map<? extends K,? extends V> m)
此方法将指定映射中的所有映射复制到此映射。 |
13 | V remove(Object key)
如果存在,此方法从此映射中删除此键的映射。 |
14 | int size()
此方法返回此 IdentityHashMap 中键值映射的数量。 |
15 | Collection<V> values()
此方法返回此映射中包含的值的 Collection 视图。 |
继承的方法
此类继承自以下类的方法:
- java.util.AbstractMap
- java.util.Object
在 IdentityHashMap 中添加键值映射示例
以下示例演示了 Java IdentityHashMap put() 方法的使用,用于将一些值放入 Map 中。我们创建了一个 Integer,Integer 的 Map 对象。然后使用 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}