kotlin将对象转换为map_如何把List转换成Map in Kotlin?

本文介绍了如何在Kotlin中将List对象转换为Map。通过使用`associate`和`associateBy`函数,可以方便地实现List到Map的转换。示例代码展示了如何根据对象属性创建Map,并打印了转换后的结果。
摘要由CSDN通过智能技术生成

#1。 从List到associate函数的Map

用Kotlin, List有一个叫做associate的函数。 associate有以下声明:

fun Iterable.associate(transform: (T) -> Pair): Map

返回包含由应用于给定collection的元素的transform函数提供的键值对的Map 。

用法:

class Person(val name: String, val id: Int) fun main(args: Array) { val friends = listOf(Person("Sue Helen", 1), Person("JR", 2), Person("Pamela", 3)) val map = friends.associate({ Pair(it.id, it.name) }) //val map = friends.associate({ it.id to it.name }) // also works println(map) // prints: {1=Sue Helen, 2=JR, 3=Pamela} }

#2。 从List Map到associateBy函数

用Kotlin, List有一个叫做associateBy的函数。 associateBy具有以下声明:

fun Iterable.associateBy(keySelector: (T) -> K, valueTransform: (T) -> V): Map

返回包含由valueTransform提供的值并由应用于给定collection的元素的keySelector函数索引的keySelector 。

用法:

class Person(val name: String, val id: Int) fun main(args: Array) { val friends = listOf(Person("Sue Helen", 1), Person("JR", 2), Person("Pamela", 3)) val map = friends.associateBy(keySelector = { person -> person.id }, valueTransform = { person -> person.name }) //val map = friends.associateBy({ it.id }, { it.name }) // also works println(map) // prints: {1=Sue Helen, 2=JR, 3=Pamela} }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值