如何在 Kotlin 中將 List 轉換為 Map?
在本文中,我們將瞭解如何使用 Kotlin 庫提供的各種選項將 List 轉換為 Map。
示例:使用 associate()
將列表轉換為對映的最標準方法是使用 **associate()** 函式。此函式將專案列表作為引數,並返回包含鍵值對的對映。在以下示例中,我們將瞭解其工作原理。
示例
data class mySubjectList(var name: String, var priority: String)
fun main() {
val mySubjectList: List<mySubjectList> = listOf(
mySubjectList("Java", "1"),
mySubjectList("Kotlin", "2"),
mySubjectList("C", "3")
)
// Creating a map and adding my own list of values in it.
val myMap: Map<String, String> = mySubjectList.associate {
Pair(it.priority, it.name)
}
println(myMap)
}輸出
執行以上程式碼段後,它將生成以下輸出,該輸出是一個對映,並且我們以鍵值格式獲得輸出。
{1=Java, 2=Kotlin, 3=C}示例:使用 associateBy()
**associateBy()** 是另一個可用於將列表轉換為 Map 的函式。在以下示例中,我們將瞭解如何實現相同的功能。
示例
data class mySubjectList(var name: String, var priority: String)
fun main() {
val mySubjectList: List<mySubjectList> = listOf(
mySubjectList("Java", "1"),
mySubjectList("Kotlin", "2"),
mySubjectList("C", "3")
)
// Creating a map and adding my own list of the values in it
val myMap: Map<String, String> = mySubjectList.associateBy(
{it.priority}, {it.name}
)
println(myMap)
}輸出
它將生成以下輸出,該輸出是一個對映,並且我們以鍵值格式獲得輸出。
{1=Java, 2=Kotlin, 3=C}示例:使用 toMap()
Kotlin 庫提供了另一個函式來將專案列表轉換為 Map。Kotlin **Map** 類包含一個名為 **toMap()** 的函式,該函式返回一個新對映,其中包含來自給定集合的所有鍵值對。讓我們看看它是如何工作的。
示例
data class mySubjectList(var name: String, var priority: String)
fun main() {
val mySubjectList: List<mySubjectList> = listOf(
mySubjectList("Java", "1"),
mySubjectList("Kotlin", "2"),
mySubjectList("C", "3")
)
// Creating a map and adding my own list of the values in it .
val myMap: Map<String, String> = mySubjectList.map{
it.priority to it.name
}.toMap()
println(myMap)
}輸出
執行以上程式碼段後,它將生成以下輸出,該輸出是一個對映,並且我們以鍵值格式獲得輸出。
{1=Java, 2=Kotlin, 3=C}
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP