Из набора Comparable
объектов я хотел бы получить отсортированный список наборов объектов, отсортированных по их естественному порядку.
Это мое решение:
val set: Set<Comparable<A>> = makeThings()
val sorted = set.sorted()
val sortedAndGrouped = mutableListOf(mutableSetOf(sorted.first()))
for(element in sorted.drop(1)) {
val randomElementOfLastGroup = sortedAndGrouped.last().first()
val doesNotBelongToLastGroup = randomElementOfLastGroup.compareTo(element) != 0
if(doesNotBelongToLastGroup)
sortedAndGrouped.add(mutableSetOf())
sortedAndGrouped.last().add(element)
}
Хотелось бы узнать, есть ли в Kotlin более лаконичная альтернатива.
Если нет, то использует ли она функции Java 8 или такую библиотеку, как Guava?