遍历map中的list
时间: 2023-11-17 11:03:47 浏览: 77
以下是Java中遍历Map中List的三种方式:
1.使用for循环和get()方法遍历
```java
Map<String, List<String>> map = new HashMap<>();
// 添加数据
List<String> list1 = new ArrayList<>();
list1.add("hello word 1");
list1.add("hello word 2");
map.put("a", list1);
List<String> list2 = new ArrayList<>();
list2.add("hello word 3");
list2.add("hello word 4");
map.put("b", list2);
// 遍历
for (String key : map.keySet()) {
List<String> list = map.get(key);
for (String value : list) {
System.out.println("key:" + key + " value:" + value);
}
}
```
2.使用迭代器遍历
```java
Map<String, List<String>> map = new HashMap<>();
// 添加数据
List<String> list1 = new ArrayList<>();
list1.add("hello word 1");
list1.add("hello word 2");
map.put("a", list1);
List<String> list2 = new ArrayList<>();
list2.add("hello word 3");
list2.add("hello word 4");
map.put("b", list2);
// 遍历
Iterator<Map.Entry<String, List<String>>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, List<String>> entry = iterator.next();
String key = entry.getKey();
List<String> list = entry.getValue();
for (String value : list) {
System.out.println("key:" + key + " value:" + value);
}
}
```
3.使用Java8的forEach()方法遍历
```java
Map<String, List<String>> map = new HashMap<>();
// 添加数据
List<String> list1 = new ArrayList<>();
list1.add("hello word 1");
list1.add("hello word 2");
map.put("a", list1);
List<String> list2 = new ArrayList<>();
list2.add("hello word 3");
list2.add("hello word 4");
map.put("b", list2);
// 遍历
map.forEach((key, value) -> {
for (String v : value) {
System.out.println("key:" + key + " value:" + v);
}
});
```
阅读全文