Pull to refresh
0
0
Send message

Поспешил с предыдущим комментарием, поправил, в итоге:

fun getResultList() = 
      getFeatures()
        .groupBy { it.categoryId }
        .let { getCategories()
                 .flatMap { category ->
                            listOf(category,
                                   *it[category.categoryId]?
                                      .toTypedArray()?:emptyArray(),
                                    category.categoryId
                                  )
                           }
             }

Решение в итоге красивое. Попробовал чуть оптимизировать производительность:

fun getResultList() = getFeatures().associateBy { it.categoryId }
.let {
getCategories().flatMap { category ->
listOf( category,
it[category.categoryId],
category.categoryId
) }
}

Не понял фразы начет Dispatchers.Unconfined - Корутина будет продолжена на том же потоке, на котором была запущена.

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer
Java
Apache Maven
OOP
Docker
Git
SQL
Database
REST
Spring Boot
Junit