list<HashMap>用stream转HashMap
时间: 2023-05-12 08:06:21 浏览: 183
可以使用Java 8中的stream()方法和collect()方法将list<HashMap>转换为HashMap。代码示例如下:
HashMap<String, String> result = list.stream()
.flatMap(map -> map.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
这段代码将list中的所有HashMap对象的键值对转换为一个流,然后使用collect()方法将其转换为一个新的HashMap对象。
相关问题
List<HashMap<String, Object>>转List<Map>
可以使用Java的Lambda表达式来实现:
List<HashMap<String, Object>> list = new ArrayList<>();
// 添加数据到list
List<Map<String, Object>> targetList = list.stream().map(map -> (Map<String, Object>) map).collect(Collectors.toList());
// 转换为List<Map>类型
// 返回结果存储在targetList中
List<HashMap>将所有指定的key去掉
要将List中所有HashMap的指定key去掉,可以使用Java 8的Stream API和Lambda表达式来实现。具体代码如下:
```java
List<HashMap<String, Object>> list = new ArrayList<>();
// 初始化List和HashMap
HashMap<String, Object> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", "value2");
map1.put("key3", "value3");
list.add(map1);
HashMap<String, Object> map2 = new HashMap<>();
map2.put("key1", "value1");
map2.put("key2", "value2");
map2.put("key3", "value3");
list.add(map2);
// 要删除的key
String keyToRemove = "key2";
// 使用Stream API和Lambda表达式将所有HashMap的指定key去掉
list.stream().forEach(map -> map.remove(keyToRemove));
// 输出结果
System.out.println(list);
```
上述代码中,我们首先在List中初始化了两个HashMap,然后指定要删除的key为"key2"。接着,使用Stream API和Lambda表达式遍历List中的每一个HashMap,并调用HashMap的remove方法删除指定的key。最后,输出处理后的List即可。
阅读全文