Android Kotlin如何用map等内置方法将List转换为Pair类型列表?
解决方案
你要的效果直接用Kotlin内置的map高阶函数就能实现,不需要自己手写for循环做拼接。
map的作用就是遍历原集合的每个元素,按照你定义的规则把每个元素转换成新的格式,最后返回所有新元素组成的集合,正好匹配你的需求。
基础实现代码
你的转换规则是每个字符串生成Pair(原字符串, 字符串首字符),代码如下:
val originalList = listOf("ball","apple","zebra","cat") // 写法1:直接调用Pair构造函数 val targetList = originalList.map { item -> Pair(item, item.first().toString()) } // 写法2:用Kotlin `to` 语法糖生成Pair,更简洁 val targetList = originalList.map { it to it.first().toString() }
兼容空字符串的优化写法
如果原列表可能存在空字符串,调用first()会抛出异常,可以加个判空逻辑避免报错:
val targetList = originalList.map { it to (it.firstOrNull()?.toString() ?: "") }
内容的提问来源于stack exchange,提问作者sudoExclamationExclamation
相关产品推荐
相关产品推荐

