java list<map> 提取map中相同key的数据
时间: 2024-02-17 14:01:58 浏览: 85
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
要提取List<Map<String, Object>> 中具有相同key的Map中的数据,你可以使用Stream API 来实现。
下面是一个例子,假设你有一个List<Map<String, Object>>,其中每个Map对象都包含一个名为"age"的键值对。你需要提取所有Map对象中"age"键的值,并将它们存储到一个新的List<Integer>中:
```
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "Alice");
map1.put("age", 25);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "Bob");
map2.put("age", 30);
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "Charlie");
map3.put("age", 20);
list.add(map3);
List<Integer> ages = list.stream()
.map(map -> (int) map.get("age"))
.collect(Collectors.toList());
System.out.println(ages);
```
输出结果为:
```
[25, 30, 20]
```
在上面的代码中,我们使用了Stream API来实现。首先,我们使用list.stream()方法将List转换为Stream。然后,我们使用map()方法来将每个Map对象转换为它们的"age"值。最后,我们使用collect()方法来收集所有的"age"值,并将它们存储到一个新的List<Integer>中。
如果你想提取所有Map对象中某个特定键的值,只需将"age"替换为你要提取的键即可。
阅读全文