- 使用Map的keySet()方法获取键集合,再使用forEach循环遍历键集合,通过Map的get()方法获取对应的值。例如:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
Set<String> keySet = map.keySet();
for (String key : keySet) {
Integer value = map.get(key);
System.out.println("key:" + key + ",value:" + value);
}
- 使用Map的values()方法获取值集合,再使用forEach循环遍历值集合。例如:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
Collection<Integer> values = map.values();
for (Integer value : values) {
System.out.println("value:" + value);
}
- 使用Map的entrySet()方法获取键值对集合,再使用forEach循环遍历键值对集合,通过Entry的getKey()方法获取键,通过Entry的getValue()方法获取值。例如:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
Set<Entry<String, Integer>> entrySet = map.entrySet();
for (Entry<String, Integer> entry : entrySet) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("key:" + key + ",value:" + value);
}
- 使用Java8的Stream流获取键值对集合,通过map方法获取键或值的流。例如:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
map.keySet().stream().forEach(key -> System.out.println("key:" + key));
map.values().stream().forEach(value -> System.out.println("value:" + value));
map.entrySet().stream().forEach(entry -> System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue()));