如何在 Kotlin 中创建一个可变的字母列表?

10

我想创建一个由字母 AZ 的可变列表 MutableList,但目前我只想到以下这种最短的方法,而不是一个个写出每个字母。

fun main()
{
    var alphabets: MutableList<Char> = mutableListOf()

    for (a in 'A'..'Z')
    {
        alphabets.add(a)
    }
    print(alphabets)
}

所以我想知道是否有Lambda实现或同样的更短方法?

3个回答

18
您可以使用CharRange()或使用..操作符创建范围。

例如:
val alphabets = ('A'..'Z').toMutableList()
print(alphabets)
// [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]

或者

 val alphabets = CharRange('A','Z').toMutableList()
 print(alphabets)
 // [A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]

2

或者,您可以使用('a'..'z').joinToString("")


该代码片段用于将字母a到z连接成一个字符串。
val abc = ('a'..'z').joinToString("")
println(abc) //abcdefghijklmnopqrstuvwxyz

您可以在Kotlin中对字符串执行与字符列表相同的功能。
例如:
for (i in abc) { println(i) }

这将每个字母单独列在新行中,就像将其转换为列表一样。

0

您可以按照以下方式使用 rangeTo 扩展函数

private val alphabets = ('A').rangeTo('Z').toMutableList()
println(alphabets)
[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接