for文の基本的な使い方と、リスト、配列などの要素を巡回する方法を紹介します。
1. for文で特定の回数を繰り返す
以下のように整数範囲を指定して特定の動作を繰り返すことができます。
1..5
: 1から5まで繰り返す5 downTo 1
: 5から1まで繰り返す
fun main() {
for (i in 1..5) {
print("$i ")
}
println()
for (i in 5 downTo 1) {
print("$i ")
}
}
Output:
1 2 3 4 5
5 4 3 2 1
1.1 ステップで特定の回数を繰り返す
step
を使うと、index は step だけ増減し、指定した範囲内で繰り返します。
たとえば、以下の例では
1..10 step 2
は1、3、5...のように2ずつ増加しながら10に達するまで繰り返します。10 downTo 1 step 2
は10、8、6...のように2ずつ減少しながら1に達するまで繰り返します。
fun main() {
for (i in 1..10 step 2) {
print("$i ")
}
println()
for (i in 10 downTo 1 step 2) {
print("$i ")
}
}
Output:
1 3 5 7 9
10 8 6 4 2
2. 配列のすべての要素の巡回
forステートメントで配列のすべての要素を巡回する最も簡単な方法は、以下のように in
キーワードを使用する方法です。
以下の例は、配列のすべての要素を順次巡回します。
fun main() {
val arr = arrayOf("a", "b", "c", "d", "e")
for (value in arr) {
print("$value ")
}
}
Output:
a b c d e
2.1 indexによる配列要素へのアクセス
もし index で巡回したいときは in Array.indices
を使うだけです。 indices
は配列のインデックスを持つIntRangeを返します。
次の例では、配列のインデックス範囲をforステートメントで巡回し、インデックスとして配列の要素値にアクセスします。
fun main() {
val arr = arrayOf("a", "b", "c", "d", "e")
for (i in arr.indices) {
print("${arr[i]} ")
}
}
Output:
a b c d e
2.2 配列のindexとvalueアプローチ
for文で配列のindexとvalueに直接アクセスしたいときは、 Array.withIndex()
を使うことができます。
以下のようにindexとvalueに直接アクセスできます。
fun main() {
val arr = arrayOf("a", "b", "c", "d", "e")
for ((i, value) in arr.withIndex()) {
println("index: $i, value: $value ")
}
}
Output:
index: 0, value: a
index: 1, value: b
index: 2, value: c
index: 3, value: d
index: 4, value: e
3. リストのすべての要素の巡回
in
キーワードを使用して、以下のようにforステートメントでリストのすべての要素を巡回できます。
fun main() {
val list = listOf("a", "b", "c", "d", "e")
for (value in list) {
print("$value ")
}
}
Output:
a b c d e
3.1 indexによる配列要素へのアクセス
indices
はリストのindexのIntRangeを返します。
以下のようにindexで巡回しながらリストにアクセスできます。
fun main() {
val list = listOf("a", "b", "c", "d", "e")
for (i in list.indices) {
print("${list[i]} ")
}
}
Output:
a b c d e
3.2 リストのindexとvalueアプローチ
withIndex()
を使って for 文から index と value に直接アクセスできます。
fun main() {
val list = listOf("a", "b", "c", "d", "e")
for ((i, value) in list.withIndex()) {
println("index: $i, value: $value ")
}
}
Output:
index: 0, value: a
index: 1, value: b
index: 2, value: c
index: 3, value: d
index: 4, value: e
Related Posts
- Kotlin - 配列内の最小値、最大値を見つける
- Kotlin - 2次元配列宣言、初期化方法
- Kotlin - 配列宣言、初期化方法
- Kotlin - リスト内の最大、最小値を見つける
- Kotlin - for 繰り返し文、配列/リスト巡回
- Kotlin - リスト、配列の長さを取得する
- Kotlin - Timer、定期的に関数を実行する
- Kotlin - スリープ、スレッド数秒遅れ
- Kotlin - Threadの作成と実行
- Kotlinで正規表現を使用する
- Kotlin - 文字列の長さを計算
- Kotlin - 文字列の比較方法(equals、==、compareTo)
- Kotlin - 2つの配列ひとつ併合
- Kotlin - ディレクトリのすべてのファイルのリスト出力
- Kotlin - 2つのList一つの併合
- Kotlin - リストの並べ替え方法(sort、sortBy、sortWith)
- Kotlin - 文字列反転(Reverse String)
- Kotlin - 乱数生成(Random、SecureRandom)
- Kotlin - Range、数値の範囲の表現
- Kotlin - 負の値を正の変換、math.abs()
- Kotlin - ListをSetに変換