HOWTO · Kotlin

Kotlin の Mutable および Immutable ArrayList に項目を追加する

この記事では、Kotlin の可変および不変の ArrayList に項目を追加する方法について説明します。 そのためのさまざまな方法について学習します。

このページの内容

Kotlin ArrayList を使用すると、特定の順序でコレクションからアイテムを保存および取得できます。 プログラム用に車のブランドのリストを作成したとしますが、今度は ArrayList に別の項目を追加したいとします。

Kotlin の ArrayList クラスは、動的配列の実装を提供します。 新しい項目を既存の ArrayList に追加できます。

これにより、保存されているアイテムの数が事前にわからない場合や、時間の経過とともに変化する可能性がある場合に便利なデータ構造になります。

次のいくつかの方法を使用して、新しい項目を Kotlin ArrayList に追加できます。

  1. add() メソッド
  2. += 演算子

この記事では、両方の方法を説明し、簡単な Kotlin プログラムを作成して、Kotlin ArrayList に新しい項目を追加します。

add() 関数を使用して Kotlin ArrayList にアイテムを追加する

add() は、Kotlin ライブラリの定義済みメソッドです。 ArrayList に新しい項目を追加できます。

ただし、このメソッドは、可変 ArrayList を使用する場合にのみ使用できます。

以下は、変更可能な ArrayList で add() メソッドを使用する方法を示すプログラムです。 このプログラムでは、Cars という名前の ArrayList を作成し、もう 1つのブランドを追加します。

後で、add() 関数を使用して新しい項目をリストに挿入します。

fun main(args: Array<String>) {
    val Cars = mutableListOf("Mercedes-Benz", "Ferrari", "BMW", "Bentley")
    println(Cars)

    Cars.add("Ford")
    println("New item added to ArrayList using the add() function: " + Cars)
}

add() 関数を使用して Kotlin ArrayList に新しい項目を追加する

ArrayList が不変の場合、項目を追加できません。 上記のコードの Cars ArrayList を不変にし、add() 関数を使用してみます。

fun main(args: Array<String>) {
    var Cars = listOf("Mercedes-Benz", "Ferrari", "BMW", "Bentley")
    println(Cars)

    Cars.add("Ford")
    println("New item added to ArrayList using the add() function: " + Cars)
}

不変の Kotlin ArrayList に新しい項目を追加するとエラーが発生する

出力に見られるように、プログラムはエラーをスローします。 したがって、この場合、最初に toMutableList() 関数を使用して不変リストを可変リストに変換する必要があります。

toMutableList() 関数と一緒に add() メソッドを使用してコレクションに項目を追加できます。

このプログラムでは、同じ不変の ArrayList Cars を作成します。 しかしここでは、新しいアイテムを追加する前に、それを変更可能なリストに変換します。

fun main(args: Array<String>) {
    var Cars = listOf("Mercedes-Benz", "Ferrari", "BMW", "Bentley")
    println(Cars)

    Cars.toMutableList().add("Ford")

    println("New item added to ArrayList using the add() function: " + Cars)
}

新しい項目を追加するために不変の Kotlin ArrayList を可変に変換する

今回はリストが変更可能なリストに変換されるため、プログラムはエラーをスローしません。

+= 演算子を使用して Kotlin ArrayList にアイテムを追加する

add() 関数に加えて、Kotlin では += 演算子を使用して ArrayList に新しいアイテムを追加することもできます。 add() 関数とは異なり、この演算子は可変リストと不変リストで機能します。

上記のプログラムを変更して組み合わせ、+= 演算子を使用して Kotlin ArrayList にアイテムを追加する方法を確認します。

fun main(args: Array<String>) {
    val mutableCars = mutableListOf("Mercedes-Benz", "Ferrari", "BMW", "Bentley")
    println(mutableCars)

    mutableCars += "Ford"
    println("New item added to ArrayList using the add() function: " + mutableCars + "\n")


    var immutableCars = listOf("Mercedes-Benz", "Ferrari", "BMW", "Bentley")
    println(immutableCars)

    immutableCars += "Ford"
    println("New item added to ArrayList using the add() function: " + immutableCars)
}

+= 演算子を使用して Kotlin ArrayList に新しい項目を追加する