У меня есть список карт, для которых я хочу сгруппировать их по имени
List<Map> allObjs = new ArrayList<Map>();
Map<String, Object> src = new HashMap();
src.put("name", "asset1");
src.put("description", "desc1" );
src.put("definition", "def1" );
Map<String, Object> src2 = new HashMap();
src2.put("name", "asset1");
src2.put("description", "desc2" );
src2.put("definition", "def2" );
allObjs.add(src);
allObjs.add(src2);
Я попытался сгруппировать их по
Map<Object, List<Map>> result = allObjs.stream().collect(Collectors.groupingBy(p -> p.get("name")));
Что я хочу, это
{
name=asset1,
description=["desc1","desc2"],
definition=["def1","def2"]
}
Я хочу, чтобы все остальные ключи были сгруппированы в списке. Но я получил
{asset1=[
{name=asset1, description=desc1, definition=def2},
{name=asset1, description=desc2, definition=def2}
]
}
Как мне сгруппировать все остальные ключи, кроме имени, в список, как ожидалось выше?