配列の使い方・書き方

どのプログラム言語においても基本となる配列のプログラムにポンコツ2人組が挑戦しました! 今回は配列・リスト・マップの操作が中心となっています。初めての人も頑張って覚えましょう♪

※この記事は2023/12/01時点の情報です。

配列の作成と初期化
このサンプルでは、Kotlinで配列の作成と初期化を行っています。

fun main() {
    // 配列の宣言と初期化
    val numbers = arrayOf(1, 2, 3, 4, 5)

    // 空の配列を作成
    val emptyArray = arrayOfNulls<Int>(5)

    // 特定の要素を指定して配列を作成
    val specificArray = Array(5) { index -> index * 2 }

    // 配列の要素を出力
    println("数値の配列: ${numbers.joinToString()}")
    println("空の配列: ${emptyArray.joinToString()}")
    println("特定要素を指定した配列: ${specificArray.joinToString()}")
}

処理結果は次の通りです。

数値の配列: 1, 2, 3, 4, 5
空の配列: null, null, null, null, null
特定要素を指定した配列: 0, 2, 4, 6, 8

配列の要素へのアクセスと変更
配列の各要素を取り出す方法と値をセットする方法です。

fun main() {
    val numbers = arrayOf(1, 2, 3, 4, 5)

    // 配列の要素へのアクセス
    println("1つ目の要素: ${numbers[0]}")
    println("2つ目の要素: ${numbers.get(1)}")

    // 配列の要素の変更
    numbers[3] = 10
    println("要素変更後の配列: ${numbers.joinToString()}")
}

処理結果は次の通りです。

1つ目の要素: 1
2つ目の要素: 2
要素変更後の配列: 1, 2, 3, 10, 5

配列の反復処理
このプログラムは配列をループで繰り返し処理するサンプルです。 forループとforEachを使う方法になります。

fun main() {
    val numbers = arrayOf(1, 2, 3, 4, 5)

    // forループを使用した配列の反復処理
    println("forループを使用した配列の反復処理:")
    for (number in numbers) {
        println(number)
    }

    // forEachを使用した配列の反復処理
    println("forEachを使用した配列の反復処理:")
    numbers.forEach { number ->
        println(number)
    }
}

処理結果は次の通りです。

forループを使用した配列の反復処理:
1
2
3
4
5
forEachを使用した配列の反復処理:
1
2
3
4
5

二次元配列の作成と操作
このプログラムはKotlinで二次元配列を作成し、各要素にアクセス・変更するサンプルです。

fun main() {
    // 2次元配列の宣言と初期化
    val matrix = Array(3) { row ->
        Array(3) { col ->
            row * col
        }
    }

    // 2次元配列の要素へのアクセス
    println("[1][2]の要素: ${matrix[1][2]}")

    // 2次元配列の要素の変更
    matrix[0][1] = 10

    // 2次元配列の全体を出力
    println("2次元配列:")
    for (row in matrix) {
        for (element in row) {
            print("$element ")
        }
        println()
    }
}

処理結果は次の通りです。

[1][2]の要素: 2
2次元配列:
0 10 0
0 1 2
0 2 4

リストの操作
このプログラムはリスト配列を作成し、各要素にアクセス・変更するサンプルです。

fun main() {
    // リストの宣言と初期化
    val numbersList = listOf(1, 2, 3, 4, 5)

    // リストの要素へのアクセス
    println("1つ目の要素: ${numbersList[0]}")
    println("3つ目の要素: ${numbersList.get(2)}")

    // リストの変更はできないが、変更可能なリストを作成することができる
    val mutableNumbersList = numbersList.toMutableList()
    // 値が6の要素を追加
    mutableNumbersList.add(6)
    // 2つ目の要素を削除
    mutableNumbersList.removeAt(1)
    // 1つ目の要素を9に変更
    mutableNumbersList[0] = 9

    println("変更可能なリスト: $mutableNumbersList")
}

処理結果は次の通りです。

1つ目の要素: 1
3つ目の要素: 3
変更可能なリスト: [9, 3, 4, 5, 6]

マップの操作
このプログラムはマップを作成し、各要素にアクセス・変更するサンプルです。

fun main() {
    // マップの宣言と初期化
    val fruits = mapOf(
        "apple" to 5,
        "banana" to 3,
        "orange" to 7
    )

    // マップの要素へのアクセス
    println("リンゴの量: ${fruits["apple"]}")
    println("バナナの量: ${fruits.getOrDefault("banana", 0)}")

    // 変更可能なマップを作成
    val mutableFruits = fruits.toMutableMap()
    // ブドウの量を9に変更
    mutableFruits["grapes"] = 9
    // オレンジの要素を削除
    mutableFruits.remove("orange")

    println("変更可能なマップ: $mutableFruits")
}

処理結果は次の通りです。

リンゴの量: 5
バナナの量: 3
変更可能なマップ: {apple=5, banana=3, grapes=9}

配列を扱う機会は多々あります。今回は基本的なものを中心にしていますが理解できましたか?

Kotlinの配列を覚えられましたか?

よく分からないという人は実際にプログラムを実行して動きを追ってみてください。 配列のデータ構造が分かってくればコツが掴めると思います。頑張って勉強しましょうね!

管理人情報