2次元配列を宣言と特定の値に初期化する方法を紹介します。
1. 2次元配列宣言
arrayOf()
で1次元配列を宣言でき、arrayOf()
内にarrayOf()
オブジェクトを追加して2次元配列を宣言できます。
fun main() {
val arr = arrayOf(
arrayOf(1, 2, 3),
arrayOf(4, 5, 6),
arrayOf(7, 8, 9),
)
for (row in arr) {
println(row.contentToString())
}
}
Output:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
1.1 特定の値で配列を初期化する
Array(size) { value }
は size サイズの配列として宣言し、 value で初期化します。
以下のように、特定の値で初期化された2次元配列を宣言できます。
fun main() {
val arr = Array(3) { Array(3){0} }
for (row in arr) {
println(row.contentToString())
}
}
Output:
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
2. Lambdaで初期値を設定する
Array()
は引数として Lambda を渡すことができ、 Lambda から返される値が配列の初期値になります。
以下の例では、 i
は配列のインデックスであり、特定の値を返すように実装して配列を初期化できます。
fun main() {
val arr = Array(3) { Array(3){ i -> i * 10 } }
for (row in arr) {
println(row.contentToString())
}
}
Output:
[0, 10, 20]
[0, 10, 20]
[0, 10, 20]
3. for文で2次元配列巡回
以下のように、2重forループで2次元配列を巡回できます。
fun main() {
val arr = arrayOf(
arrayOf(1, 2, 3),
arrayOf(4, 5, 6),
arrayOf(7, 8, 9),
)
for (i in arr.indices) {
val row = arr[i];
for (j in row.indices) {
val value = arr[i][j]
print("$value ")
}
println()
}
}
Output:
1 2 3
4 5 6
7 8 9
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に変換