Это так же просто, как groupingBy
:
queries.stream()
.collect(Collectors.groupingBy(BaseQuery::getCharacteristicId));
Это создаст List<BaseQuery>
как значение, это неявно:
queries.stream()
.collect(Collectors.groupingBy(
BaseQuery::getCharacteristicId,
Collectors.toList()));
Но если вам нужны гарантииизменчивый List
:
queries.stream()
.collect(Collectors.groupingBy(
BaseQuery::getCharacteristicId,
Collectors.toCollection(ArrayList::new)));