java如何遍历map
遍历Map的几种方法
使用entrySet()方法 通过Map的entrySet()方法获取键值对的集合,然后遍历这个集合。这种方式可以同时访问键和值。
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
使用keySet()方法 通过Map的keySet()方法获取键的集合,然后遍历键集合并通过键获取对应的值。
for (String key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
使用values()方法 通过Map的values()方法直接获取值的集合,适用于只需要遍历值的情况。
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
使用Java 8的forEach方法 Java 8引入了Lambda表达式,可以通过forEach方法简化遍历过程。
map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
使用Iterator 通过entrySet()或keySet()获取Iterator对象,使用迭代器遍历Map。
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
使用Stream API Java 8的Stream API提供了更灵活的方式来处理集合数据。
map.entrySet().stream().forEach(entry ->
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()));
每种方法适用于不同的场景,entrySet()和forEach方法通常更高效且代码简洁,适用于大多数情况。keySet()和values()适用于只需要键或值的场景。Iterator和Stream API提供了更灵活的操作方式。







