用stream流遍历List<hashMap<String,String>>
时间: 2023-06-01 15:03:36 浏览: 192
可以使用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中的键值对遍历,并打印出来。
相关问题
Map<String, List<HrProvinceDto>> map遍历改变List<HrProvinceDto>为List<Map<String,String>>>
可以使用Java 8的Stream和Lambda表达式来实现:
```
Map<String, List<Map<String, String>>> newMap = map.entrySet().stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
e -> e.getValue().stream()
.map(p -> {
Map<String, String> newProvince = new HashMap<>();
newProvince.put("provinceName", p.getProvinceName());
newProvince.put("provinceCode", p.getProvinceCode());
return newProvince;
})
.collect(Collectors.toList())
));
```
这个代码片段将原始的Map中的每个值(即List<HrProvinceDto>)转换为一个新的List<Map<String, String>>,其中每个Map都包含两个键值对,分别是“provinceName”和“provinceCode”,其值分别来自于原始的HrProvinceDto对象。最终得到的新Map的类型是Map<String, List<Map<String, String>>>。
Map<String, List<HrProvinceDto>> map遍历改变List<HrProvinceDto>为Map<String,String>>
可以使用Java 8的Stream API来完成这个任务。首先,我们可以使用forEach方法遍历map中的每个entry,并使用map方法将List<HrProvinceDto>转换为Map<String,String>,然后使用put方法将新的Map添加到结果Map中。
以下是代码示例:
```
Map<String, List<HrProvinceDto>> map = new HashMap<>();
// 假设map已经被填充了一些数据
Map<String, Map<String,String>> result = new HashMap<>();
map.forEach((key, value) -> {
Map<String,String> provinceMap = value.stream()
.collect(Collectors.toMap(HrProvinceDto::getProvinceCode, HrProvinceDto::getProvinceName));
result.put(key, provinceMap);
});
// 现在result包含了原始map中每个entry对应的新Map
```
在这个例子中,我们使用了getProvinceCode和getProvinceName方法来获取HrProvinceDto对象中的省份代码和名称。您可以根据自己的需要更改这些方法。
阅读全文