kotlin Присвойте результат этого преобразования переменным - PullRequest
0 голосов
/ 25 января 2019

Привет, я работаю со следующим кодом:

private fun getAttributesMap(navMenu: NavItem?): AttributesMap {
        var attributesString = navMenu?.attributes
        val attributesMap = mutableMapOf<String, String>()
        attributesString?.lines()?.map {
            val pair = it.split("=")
            if (pair?.size == 2) {
                attributesMap.put(pair[0], pair[1])
            }
        }
        return AttributesMap(attributesMap)
    }

Но в соответствии с документацией: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/map.html

Я должен иметь возможность назначить результат этого преобразования в attributeMap.Любые подсказки о том, как это будет с подходом kotlin .map?

Спасибо !!

1 Ответ

0 голосов
/ 25 января 2019

Сочетание map и filter будет работать:

val attributesMap = attributesString.lines()
    .map { it.split("=") }
    .filter { it.size == 2 } //filter all with more or less elements
    .map { it[0] to it[1] } //convert to Pair
    .toMap() //convert to Map
...