如何在Kotlin中以更简洁方式创建A到Z的MutableList?
更简洁的Kotlin实现:创建A到Z的MutableList
当然有更优雅简洁的方式!Kotlin的标准库提供了多种写法,完全不用手动写循环就能快速生成A到Z的可变字符列表,下面给你介绍几种常用方案:
最直接的一行实现:利用
CharRange的内置扩展方法
因为'A'..'Z'本身就是一个CharRange对象,直接调用toMutableList()就能把它转换成可变列表,代码超短:fun main() { val alphabets = ('A'..'Z').toMutableList() print(alphabets) }这种方式既简洁又易读,是最推荐的写法。
用
buildList构建(Kotlin 1.9+)
如果你偏好Lambda风格的构建逻辑,buildList函数非常合适,它允许你在Lambda块里灵活拓展列表内容:fun main() { val alphabets = buildList { addAll('A'..'Z') // 这里还能轻松添加其他元素,比如 add('a') } print(alphabets) }这个方法的优势在于扩展性强,之后如果需要给列表补充内容,直接在块里追加代码即可,不用调整整体结构。
用
mapTo转换(Lambda风格)
另一种偏向Lambda的写法是用mapTo,把字符范围的元素映射到新的可变列表中:fun main() { val alphabets = ('A'..'Z').mapTo(mutableListOf()) { it } print(alphabets) }不过这种写法和
toMutableList()功能基本一致,只是形式上更贴合Lambda的写法习惯。
对比你原来的循环写法,这些方式都能把核心逻辑压缩到一行,可读性和简洁性都提升不少~
内容的提问来源于stack exchange,提问作者EManual
相关产品推荐
相关产品推荐

