list的Lamdba分组聚合
List<Map<String,Object>> query = new ArrayList<>();
Map<String, Object> e1 = new HashMap<>();
e1.put("number",3);
e1.put("name","1");
e1.put("age","0101019");
e1.put("yuefen",3);
e1.put("price",500);
query.add(e1);
Map<String, Object> e2 = new HashMap<>();
e2.put("number",99);
e2.put("name","1");
e2.put("age","A001");
e2.put("yuefen",3);
e2.put("price",300);
query.add(e2);
Map<String, Object> e3 = new HashMap<>();
e3.put("number",44);
e3.put("name","1");
e3.put("age","A002");
e3.put("yuefen",5);
e3.put("price",300);
query.add(e3);
List<List<Map<String,Object>>> listOne = new ArrayList<>();
query.stream().collect(Collectors.groupingBy(m -> m.get("name").toString()+"#"+m.get("price"))).forEach((k,value)->{
listOne.add(value);
});
System.out.println(listOne);
简单暴力:直接看结果
[{number=3, price=500, name=1, yuefen=3, age=3}],
[{number=99, price=300, name=1, yuefen=3, age=4},{number=44, price=300, name=1, yuefen=5, age=5}]
]