📅  最后修改于: 2023-12-03 15:15:57.041000             🧑  作者: Mango
在Java的Map中,有一些方法可以用于获取Map中的key和value。其中,value()
方法和entrySet()
方法是两个比较常用的方法。
value()
方法value()
方法返回Map中的所有value。方法签名如下:
Collection<V> values()
这里的V
是Map的value类型。返回值是一个Collection类型,包含了Map中所有的value。
例如,下面的代码创建了一个Map对象,并使用value()
方法获取了Map中的所有value:
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
Collection<Integer> values = map.values(); // 获取map中所有的value
for (Integer value : values) {
System.out.println(value);
}
输出结果:
1
2
3
entrySet()
方法entrySet()
方法返回Map中所有的键值对。方法签名如下:
Set<Map.Entry<K,V>> entrySet()
这里的K
和V
分别是Map的key和value类型。返回值是一个Set类型,其中存放了Map中所有的键值对,类型为Map.Entry<K,V>
。
例如,下面的代码创建了一个Map对象,并使用entrySet()
方法获取了Map中所有的键值对:
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); // 获取map中所有的键值对
for (Map.Entry<String, Integer> entry : entrySet) {
System.out.println("key:" + entry.getKey() + ", value:" + entry.getValue());
}
输出结果:
key:a, value:1
key:b, value:2
key:c, value:3
可以看到,使用entrySet()
方法可以一次性获取Map中所有的键值对,比使用keySet()
和value()
方法分别获取key和value更方便。
value()
和entrySet()
方法都可以用于获取Map中的value,但是它们的不同点在于返回值的类型。value()
方法返回一个包含所有value的Collection,而entrySet()
方法返回一个包含所有键值对的Set。这两种方法在不同的场景下有着不同的应用,需要开发者根据具体需求来选择使用哪种方法。