如何在 Kotlin 中将列表转换为地图?

在本文中,我们将了解如何使用 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")

   )

   //创建一个映射并在其中添加我自己的值列表。

   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")

   )

   //创建映射并在其中添加我自己的值列表

   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")

   )

   //创建映射并在其中添加我自己的值列表 .

   val myMap: Map<String, String> = mySubjectList.map{

     it.priorityto it.name

   }.toMap()

   println(myMap)

}

输出结果

一旦我们运行上面的代码,它将生成以下输出,这是一个映射,我们以键值格式获得输出。

{1=Java, 2=Kotlin, 3=C}

以上是 如何在 Kotlin 中将列表转换为地图? 的全部内容, 来源链接: utcz.com/z/297077.html

回到顶部