遍历map的几种方法
Map是Java中常用的一种数据结构,是一种键值对的集合。在Java中,Map接口提供了多种遍历方式来读取Map集合中的元素。本文将从不同角度介绍Map的几种遍历方法。
1. 使用迭代器遍历Map
使用迭代器可以遍历Map集合中的所有元素,例如下面的示例代码:
```
Map
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
Iterator
while (iterator.hasNext()) {
Map.Entry
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
```
上面代码中,我们使用了entrySet()方法来获取Map集合中所有的键值对,接着使用iterator()方法来获取迭代器。通过遍历迭代器中的元素,可以获取Map集合中每个键值对的键和值。
2. 使用foreach循环遍历Map
Java 5.0引入了foreach循环,使得遍历Map集合更加方便。示例代码如下:
```
Map
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
for (Map.Entry
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
```
上面代码中,在foreach循环中使用了entrySet()方法获取Map集合中所有的键值对,接着直接遍历Map集合中的元素,使用getKey()和getValue()方法分别获取键和值。
3. 使用Lambda表达式遍历Map
Java 8引入了Lambda表达式,可以使用Lambda表达式遍历Map集合。如下所示:
```
Map
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
map.forEach((k, v) -> System.out.println("Key = " + k + ", Value = " + v));
```
上面代码中,我们使用forEach方法遍历Map集合中的元素,Lambda表达式中的参数k和v分别代表当前遍历到的键和值。
4. 遍历Map的Key集合
Map集合中的keySet()方法返回Map中所有键的Set集合,可以使用for-each循环遍历其中每个键。例如:
```
Map
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
for (String key : map.keySet()) {
System.out.println("Key = " + key);
}
```
上面代码中,我们遍历了Map集合中所有键的Set集合,获取了Map中所有键的值。
5. 遍历Map的Value集合
Map集合中的values()方法返回Map中所有值的Collection集合,可以使用for-each循环遍历其中每个值。例如:
```
Map
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
for (Integer value : map.values()) {
System.out.println("Value = " + value);
}
```
上面代码中,我们遍历了Map集合中所有值的Collection集合,获取了Map中所有值的值。
本文介绍了几种遍历Map集合的方法,包括使用迭代器、foreach循环、Lambda表达式、遍历Key集合和遍历Value集合。使用不同的遍历方式,可以根据不同的情况选择最适合的遍历方法。