四种遍历Map方式:
时间: 2024-09-12 19:12:25 浏览: 73
在Java中,Map有四种常见的遍历方式:
1. **增强for循环(Iterable接口)**:适用于实现了`Iterable<Map.Entry<K, V>>`接口的Map,如HashMap、TreeMap等。例如:
```java
for (Map.Entry<K, V> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
```
2. **普通for循环(Iterator接口)**:直接通过`map.keySet().iterator()`获取键的迭代器,然后逐个访问键值对。示例:
```java
Iterator<K> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
K key = iterator.next();
V value = map.get(key);
System.out.println("Key: " + key + ", Value: " + value);
}
```
3. **foreach-each loop(简化版增强for循环)**:对于Java 5及以后版本,可以直接使用`forEach`方法遍历键值对,但它实际上还是底层调用了增强for循环。例如:
```java
map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
```
4. **Lambda表达式和Stream API**:从Java 8开始,可以使用流API(Stream< Map.Entry<K, V>>)进行更高级别的操作,如过滤、映射等。但这需要引入额外的库支持,并且不是所有Map都支持流操作。
阅读全文