[Kotlin] 拡張されたループ
· 3分の読み時間
Kotlinでは、Javaに比べてはるかにシンプルで便利なループを書くことができます。どのように使うか見てみましょう。
1. ..
演算子
val fruits = listOf("Apple", "Banana", "Cherry", "Durian")
fun main() {
for (index in 0..fruits.size - 1) {
val fruit = fruits[index]
println("$index: $fruit")
}
}
..
を使うと、1ずつインクリメントする従来のループが作成されます。
2. downTo
val fruits = listOf("Apple", "Banana", "Cherry", "Durian")
fun main() {
for (index in fruits.size - 1 downTo 0) {
val fruit = fruits[index]
println("$index: $fruit")
}
}
downTo
を使うと、期待通りにデクリメントするループが作成されます。
3. step
val fruits = listOf("Apple", "Banana", "Cherry", "Durian")
fun main() {
for (index in 0..fruits.size - 1 step 2) {
val fruit = fruits[index]
println("$index: $fruit")
}
}
step
キーワードを使うと、特定の数の要素をスキップするループを実装できます。これは downTo
にも適用されます。
4. until
val fruits = listOf("Apple", "Banana", "Cherry", "Durian")
fun main() {
for (index in 0 until fruits.size) {
val fruit = fruits[index]
println("$index: $fruit")
}
}
until
を使うと、最後の数を含まないループが作成され、-1
を使う必要がなくなります。
5. lastIndex
val fruits = listOf("Apple", "Banana", "Cherry", "Durian")
fun main() {
for (index in 0 .. fruits.lastIndex) {
val fruit = fruits[index]
println("$index: $fruit")
}
}
lastIndex
プロパティを使うと、ループが読みやすくなります。しかし、もちろんまだ他にも方法があります。