在Kotlin中将整数列表转换为字符串列表的最优实现方案是什么?
最简实现方案
直接使用Kotlin标准库提供的集合map转换算子,一行代码即可完成需求:
val numbers = listOf(1, 2, 3, 4, 5) val numbersStr = numbers.map(Int::toString) // 输出结果为 ["1","2","3","4","5"]
说明
map会自动遍历原集合的所有元素,将每个元素应用指定的转换规则后,直接返回新的只读列表,无需手动维护迭代器、可变中间集合,完全消除了模板代码。- 上述写法使用了Kotlin方法引用特性,如果你需要编写更复杂的转换逻辑,也可以用Lambda写法实现,效果完全一致:
val numbersStr = numbers.map { it.toString() } - 如果你后续需要修改生成的字符串列表,可以在链式调用末尾加上
toMutableList()得到可变列表:val mutableNumbersStr = numbers.map(Int::toString).toMutableList() - 如果你需要把转换结果追加到已有的可变列表中,可以使用
mapTo方法:val existingStrList = mutableListOf<String>("0") numbers.mapTo(existingStrList, Int::toString) // 最终existingStrList结果为 ["0","1","2","3","4","5"]
内容的提问来源于stack exchange,提问作者Krishnakanth Jc
相关产品推荐
相关产品推荐

