List<Map> 根据map的一个KEY进行分组
时间: 2024-05-05 09:19:36 浏览: 140
好的,根据您的要求,我会为您提供一些相关的信息。对于List<Map>根据map的一个KEY进行分组,可以采用Java 8中的stream和Collectors工具类来实现。具体的代码如下:
```
List<Map<String, Object>> list = new ArrayList<>();
// 添加数据
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "张三");
map1.put("age", 18);
map1.put("sex", "男");
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "李四");
map2.put("age", 20);
map2.put("sex", "男");
list.add(map2);
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "王五");
map3.put("age", 22);
map3.put("sex", "女");
list.add(map3);
// 根据sex分组
Map<Object, List<Map<String, Object>>> groupMap = list.stream().collect(Collectors.groupingBy(map -> map.get("sex")));
// 输出分组结果
groupMap.forEach((key, value) -> {
System.out.println("分组的key为:" + key);
System.out.println("分组的value为:" + value);
});
```
代码中,我们定义了一个List<Map<String, Object>>类型的数据集合,并向其中添加了三个Map类型的对象。然后,使用了Java 8中的stream和Collectors工具类,对List<Map>根据map的sex属性进行分组,最终输出了分组结果。如果您有其他问题,也欢迎继续提问。
阅读全文