Kotlin конвертировать картуна карту - PullRequest
0 голосов
/ 27 ноября 2018

Есть ли способ создать карту?Ниже я показываю, что я получил на данный момент.Первое решение намного чище, но требует получить другой объект, который мне не нужен (функциональное программирование).

    val result: MutableMap<key, MutableList<Int>> = mutableMapOf()

    someArray.onEach { (key, int) ->
        result
            .computeIfAbsent(key.id) { mutableListOf() }
            .add(int)
    }

    return list

Я получил что-то подобное, что не так чисто

    return someArray
        .map { (key, int) ->
            key.id to int
        }
        .groupBy { it.first }
        .map { (k, v) ->
            k to v.filter { it.first == k }
                .map { it.second }
        }

1 Ответ

0 голосов
/ 27 ноября 2018

groupBy поддерживает второй параметр, который можно использовать для немедленного преобразования значений, поэтому вам нужно только следующее (примечание: также встроен вызов map в селектор клавиш):

someArray.groupBy({ it.first.id }, { it.second })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...