import java.util.HashMap;
import java.util.Map;
public class MapTraversalExample {
public static void main(String[] args) {
// 创建一个Map实例并添加一些键值对
Map<String, Integer> map = new HashMap<>();
map.put("Apple", 1);
map.put("Banana", 2);
map.put("Orange", 3);
// 方法1:使用forEach方法遍历键值对
System.out.println("Method 1: Using forEach method");
map.forEach((key, value) -> {
System.out.println("Key: " + key + ", Value: " + value);
});
// 方法2:使用entrySet遍历键值对
System.out.println("Method 2: Using entrySet");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
// 方法3:使用keySet遍历键,然后获取对应的值
System.out.println("Method 3: Using keySet");
for (String key : map.keySet()) {
System.out.println("Key: " + key + ", Value: " + map.get(key));
}
// 方法4:使用values遍历所有值
System.out.println("Method 4: Using values");
for (Integer value : map.values()) {
System.out.println("Value: " + value);
}
// 方法5:使用Stream API遍历键值对(Java 8及以上)
System.out.println("Method 5: Using Stream API");
map.entrySet().stream().forEach(entry -> {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
});
}
}
forEach方法:这是Java 8引入的一种简洁的遍历方式。map.forEach接受一个双参数的Lambda表达式,分别代表键和值。
entrySet:通过entrySet()方法获取所有键值对的集合,然后用增强的for循环遍历每个Entry对象。
keySet:通过keySet()方法获取所有键的集合,再通过键获取对应的值。这种方式适合只需要遍历键的情况。
values:通过values()方法获取所有值的集合,适用于只需要遍历值的情况。
Stream API:这是Java 8引入的流处理API,可以方便地对集合进行各种操作。这里我们使用stream()方法将entrySet转换为流,然后使用forEach方法遍历每个元素。
以上五种方法都可以用来遍历Map,具体选择哪种方法取决于实际需求和个人偏好。
上一篇:java 获取当天日期
下一篇:java 余数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站