遍历List<Map<String,String>>
时间: 2023-06-01 19:03:35 浏览: 136
可以使用for循环遍历List,再使用for循环遍历Map,如下所示:
```
List<Map<String, String>> list = new ArrayList<>();
// 添加元素
Map<String, String> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", "18");
list.add(map1);
Map<String, String> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", "20");
list.add(map2);
// 遍历
for (Map<String, String> map : list) {
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + ":" + value);
}
}
```
输出结果:
```
name:张三
age:18
name:李四
age:20
```
相关问题
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>>>。
利用java实现 循环遍历输出List<List<List<List<List<Map<String,Map<String,List<String>>>>>>>>中的值
可以使用嵌套的for循环来遍历这个多层的List和Map结构,代码如下:
```java
List<List<List<List<List<Map<String,Map<String,List<String>>>>>>> list = new ArrayList<>();
// 循环遍历List
for (List<List<List<List<Map<String,Map<String,List<String>>>>>>> list1 : list) {
// 循环遍历List
for (List<List<List<Map<String,Map<String,List<String>>>>>> list2 : list1) {
// 循环遍历List
for (List<List<Map<String,Map<String,List<String>>>>> list3 : list2) {
// 循环遍历List
for (List<Map<String,Map<String,List<String>>>> list4 : list3) {
// 循环遍历List
for (Map<String,Map<String,List<String>>> map1 : list4) {
// 循环遍历Map
for (Map.Entry<String, Map<String,List<String>>> entry1 : map1.entrySet()) {
String key1 = entry1.getKey();
Map<String,List<String>> map2 = entry1.getValue();
// 循环遍历Map
for (Map.Entry<String, List<String>> entry2 : map2.entrySet()) {
String key2 = entry2.getKey();
List<String> list5 = entry2.getValue();
// 循环遍历List
for (String value : list5) {
System.out.println(value);
}
}
}
}
}
}
}
}
```
值得注意的是,由于这个数据结构非常复杂,所以代码中嵌套了很多层循环,这可能会导致代码可读性较差,不易维护。建议在实际开发中,尽量避免使用这种复杂的数据结构,或者在使用时考虑封装成更易于操作的数据结构。
阅读全文