Я собираюсь сгруппировать Set<Pair<String,Int>>
значения в Map<String, Set<Int>>
так просто. Найти все соответствующие целые для строки и создать набор. У меня есть решение, которое работает:
setStringInt.stream()
.collect(
groupingBy(
Projection::stringObj,
mapping(Projection::intObj,
toSet<Int>())
)
)
У меня есть уборщик:
.groupBy { it.stringobj }
.mapValues { it.value.map { it.intobj }.toSet() }
Но это выглядит довольно грязно. У вас есть идеи, как это упростить? Могу ли я сделать это без использования потока?