java中 identityHashMap的containsKey()使用实例
时间: 2024-11-18 21:17:57 浏览: 15
IdentityHashMap是Java中的一种特殊哈希映射,它存储键值对,并且依据键的引用而不是键的内容来进行比较。这意味着如果两个对象引用相同,它们在IdentityHashMap中被视为相同的键,`containsKey()`方法将返回true。
下面是一个简单的使用实例:
```java
import java.util.IdentityHashMap;
public class IdentityHashMapExample {
public static void main(String[] args) {
// 创建一个IdentityHashMap对象
IdentityHashMap<String, String> idMap = new IdentityHashMap<>();
// 添加键值对,这里我们使用了两个不同的字符串,但它们实际上是指向同一个对象
String str1 = "Hello";
String str2 = "Hello"; // 这里str2是对str1的引用
idMap.put(str1, "Value1");
// 使用containsKey检查是否已经添加过这个键
boolean containsStr1 = idMap.containsKey(str1);
System.out.println("containsKey(str1): " + containsStr1); // 输出:containsKey(str1): true
// 使用containsKey检查另一个引用的键
boolean containsStr2 = idMap.containsKey(str2);
System.out.println("containsKey(str2): " + containsStr2); // 输出:containsKey(str2): true
// 因为str1和str2引用相同,所以两次调用containsKey都会返回true
}
}
```
在这个例子中,虽然`str1`和`str2`是不同的变量名,但是由于它们指向的是同一个字符串对象,所以在`idMap`中查找时会认为它们是同一个键。
阅读全文