用java遍历List<Map>
时间: 2023-07-19 16:03:39 浏览: 94
可以使用 Java 中的 for-each 循环结构来遍历 List<Map>。
假设我们有一个 List<Map<String, Object>> 的列表,每个 Map 对象都包含一些键值对。以下是遍历该列表并打印每个 Map 的所有键值对的示例代码:
```java
List<Map<String, Object>> list = new ArrayList<>();
// 假设列表已经填充了一些 Map 对象
for (Map<String, Object> map : list) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
System.out.println("Key: " + key + ", Value: " + value.toString());
}
}
```
在上面的示例中,我们使用了两个嵌套的 for-each 循环来遍历 List<Map> 中的每个 Map 对象以及每个 Map 中的所有键值对。对于每个键值对,我们打印了键和值。
相关问题
java遍历List<Map<String, Object>> mapList for循环怎么写
你可以使用以下代码进行遍历:
```
for(Map<String, Object> map : mapList){
for(Map.Entry<String, Object> entry : map.entrySet()){
String key = entry.getKey();
Object value = entry.getValue();
System.out.println("Key: " + key + " Value: " + value);
}
}
```
这个代码块中的外层循环遍历了 mapList 中的每个 map 对象,内层循环遍历了每个 map 对象中的键值对,然后将键和值打印出来。你可以根据你的具体需求进行修改。
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>>>。
阅读全文