List<Map<String, Object>>将指定key的value放入list
时间: 2023-04-05 11:03:09 浏览: 79
可以使用Java 8的Stream API来实现这个功能,具体代码如下:
List<Map<String, Object>> list = new ArrayList<>();
// 假设有三个Map对象
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 20);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 25);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "王五");
map3.put("age", 30);
// 将所有Map对象中key为"name"的value放入一个List中
List<Object> nameList = list.stream().map(map -> map.get("name")).collect(Collectors.toList());
相关问题
使用stream获取List<Map<String,Object>>中Map指定key的value
可以使用Java 8中的Stream API来获取List<Map<String,Object>>中Map指定key的value。以下是一个示例代码:
```java
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "John");
map1.put("age", 25);
map1.put("gender", "Male");
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "Mary");
map2.put("age", 30);
map2.put("gender", "Female");
list.add(map1);
list.add(map2);
// 获取List<Map<String,Object>>中Map指定key的value
List<Object> values = list.stream()
.map(map -> map.get("name"))
.collect(Collectors.toList());
System.out.println(values); // 输出 [John, Mary]
```
以上代码演示了如何使用Stream API来获取List<Map<String,Object>>中Map指定key的value。在处理时,我们使用`map()`方法将List中的每个Map转换为其指定key的value,最后使用`collect()`方法将结果转换为List类型的数据。
List<Map<String, Object>> 如何根据指定的key分组
你可以使用Java 8的Stream API来根据指定的key将List<Map<String, Object>>中的元素分组。具体步骤如下:
1. 使用Stream的collect()方法将List<Map<String, Object>>转换为Map<String, List<Map<String, Object>>>,其中key为指定的分组key,value为该key所对应的元素列表。
2. 使用Collectors.groupingBy()方法指定分组key。
下面是一个示例代码:
```
List<Map<String, Object>> list = new ArrayList<>();
// 添加元素到list
Map<String, List<Map<String, Object>>> groupedMap = list.stream()
.collect(Collectors.groupingBy(map -> map.get("groupName").toString()));
```
以上代码将根据Map中的groupName key对元素进行分组,得到一个Map<String, List<Map<String, Object>>>对象,其中key为groupName的值,value为该groupName所对应的元素列表。你可以根据需要修改groupName的值为你想要分组的key。