Java:list<map> 转map
时间: 2023-09-29 22:03:05 浏览: 142
如果你有一个 `List<Map>`,并且想将它转换为一个 `Map`,可以使用如下的代码:
```java
List<Map<String, Object>> list = new ArrayList<>();
// 将 List<Map> 转换为 Map
Map<String, Object> map = list.stream()
.flatMap(m -> m.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
```
这里的 `list` 是你要转换的 `List<Map>` 对象,`map` 是转换后得到的 `Map` 对象。这个代码使用了 Java 8 的 Stream API,首先使用 `flatMap` 将多个 `Map` 合并成一个,然后使用 `Collectors.toMap` 将所有的键值对存储到一个新的 `Map` 中。
相关问题
java List<Map>转Map
可以使用Java 8的lambda表达式和Stream API来将List<Map>转换为Map。具体的代码如下:
```
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 20);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 22);
list.add(map2);
Map<String, Object> result = list.stream().flatMap(map -> map.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
System.out.println(result);
```
这段代码首先定义了一个List<Map<String, Object>>,并添加了两个Map到List中。然后使用Stream API对List进行转换,flatMap函数将Map转换为其键值对的Stream,最后使用Collectors.toMap函数将所有的键值对收集到一个新的Map中,最终输出结果。
Java List<对象>转List<Map>
可以通过遍历List<对象>中的元素,逐个将元素转换为Map,并将Map添加到新的List<Map>中。具体实现可参考如下代码:
List<Object> list = new ArrayList<>();
List<Map<String, Object>> result = new ArrayList<>();
for (Object obj : list) {
Map<String, Object> map = new HashMap<>();
// 将对象属性转换为键值对,并添加到Map中
// ...
result.add(map);
}
阅读全文