📜  Java中的 IdentityHashMap values() 方法(1)

📅  最后修改于: 2023-12-03 15:31:52.642000             🧑  作者: Mango

Java中的 IdentityHashMap values() 方法

IdentityHashMap 是 Java 中的一种 Map 实现,它与其他 Map 实现的不同点在于它使用的是引用相等(即 ==)而不是值相等(即 equals())来判断键的唯一性。

IdentityHashMap 中的 values() 方法返回一个 Collection 视图,该视图由 Map 中的值组成。要注意的是,该视图的迭代顺序与 Map 存储的顺序相同。

下面是 IdentityHashMapvalues() 方法的语法:

public Collection<V> values()

该方法返回一个值集合视图,其中包含键值对中的值。

示例
// 创建一个 IdentityHashMap 对象
IdentityHashMap<String, Integer> map = new IdentityHashMap<>();

// 添加数据
map.put(new String("key1"), 1);
map.put(new String("key2"), 2);
map.put(new String("key3"), 3);

// 获取 values 视图
Collection<Integer> values = map.values();

// 输出 values 视图中的元素
System.out.println(values); // [1, 2, 3]

在上面的示例中,我们创建了一个 IdentityHashMap 对象,并向其中添加了三个键值对。然后我们使用 values() 方法获取了值集合视图,并将其输出。

需要注意的是,在示例中我们使用了 new String() 方法创建了字符串对象。这是因为 IdentityHashMap 使用的是引用相等来判断键的唯一性,而字符串字面量在编译时就已经被编译器合并成了同一个对象,因此不适合用于此示例。

总结
  • IdentityHashMap 中的 values() 方法返回该 Map 中的值集合视图。
  • 该视图的迭代顺序与 Map 存储的顺序相同。
  • 由于 IdentityHashMap 使用的是引用相等来判断键的唯一性,因此添加键时需注意使用 new 关键字创建新对象。