簡體   English   中英

將地圖轉換為Kotlin中的地圖列表

[英]Convert maps to list of maps in Kotlin

我正在嘗試轉換傳統地圖:

1 -> "YES",
2 -> "NO",
3 -> "YES",
...

到具有固定鍵的地圖列表,如下所示:

[
  <number -> 1,
   answer -> "YES">,
  <number -> 2,
   answer -> "NO">,
  ...
]

現在我有一個看起來不太好的解決方案,並沒有真正利用Kotlin的功能特性。 我想知道是否有更清晰的解決方案:

fun toListOfMaps(map: Map<Int, String>): List<Map<String, Any>> {
    val listOfMaps = emptyList<Map<String, Any>>().toMutableList()

    for (entry in map) {
        val mapElement = mapOf(
                "number" to entry.component1(),
                "answer" to entry.component2()
        )
        listOfMaps.add(mapElement)
    }

    return listOfMaps
}

只需使用Map#map就足夠了,例如:

fun toListOfMaps(map: Map<Int, String>): List<Map<String, Any>> {
    //               v--- destructuring `Map.Entry` here
    return map.map { (number, answer) -> 
        mapOf("number" to number, "answer" to answer) 
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM