HashMap<String, List<TrDevportVO>> relayLinkAndPortListMap = new HashMap<>(); 遍历这个map
时间: 2023-07-09 20:05:56 浏览: 44
你可以使用Java 8中的Lambda表达式或者foreach循环来遍历这个Map并打印出其中的键值对。
使用Lambda表达式:
```
relayLinkAndPortListMap.forEach((key, value) -> {
System.out.println("Key: " + key);
System.out.println("Value: " + value);
});
```
使用foreach循环:
```
for(Map.Entry<String, List<TrDevportVO>> entry : relayLinkAndPortListMap.entrySet()) {
String key = entry.getKey();
List<TrDevportVO> value = entry.getValue();
System.out.println("Key: " + key);
System.out.println("Value: " + value);
}
```
其中,Lambda表达式中的key和value分别代表Map中的键和值,foreach循环中的entry代表Map中的键值对。在循环体内,你可以根据需要对键和值进行操作。
相关问题
Map<String, Map<String, List<String>>> dataMap2 = new HashMap<String, Map<String, List<String>>>(map);怎么遍历
可以使用双重循环遍历,首先遍历外层的`Map`,获取每一个内层的`Map`,再遍历内层的`Map`,获取其中的`List`。
以下是示例代码:
```
for (Map.Entry<String, Map<String, List<String>>> entry : dataMap2.entrySet()) {
String key1 = entry.getKey();
Map<String, List<String>> map2 = entry.getValue();
for (Map.Entry<String, List<String>> entry2 : map2.entrySet()) {
String key2 = entry2.getKey();
List<String> list = entry2.getValue();
System.out.println("外层key:" + key1 + ",内层key:" + key2 + ",list:" + list);
}
}
```
其中,`entrySet()`方法可以获取`Map`中所有键值对的集合,每个键值对都是一个`Map.Entry`对象,包含了键和值两部分。通过`getKey()`方法可以获取键,通过`getValue()`方法可以获取值。因为内层的值是一个`Map`,所以需要再次使用`entrySet()`方法遍历内层的`Map`。
用stream流遍历List<hashMap<String,String>>
可以使用Java 8中的Stream API来遍历List<HashMap<String, String>>,如下所示:
```
List<HashMap<String, String>> list = new ArrayList<>();
// 添加元素到list中
list.stream().forEach(map -> {
map.forEach((key, value) -> {
System.out.println(key + " : " + value);
});
});
```
上述代码中,我们首先创建了一个List<HashMap<String, String>>,并将元素添加到其中。接着,我们使用stream()方法将List转换为Stream对象,并使用forEach()方法遍历每个元素。在forEach()方法中,我们将每个HashMap中的键值对遍历,并打印出来。