Kotlinはコレクションを柔軟に管理する方法を提供しますが、ミュータブルリストとイミュータブルリストの違いを理解することは非常に重要です。この記事では、add()
関数と+=
演算子を使用して両方のタイプに要素を追加する方法を調べます。
目次
add()
関数による要素の追加
add()
関数は、ArrayList
に要素を追加するための多様な方法を提供します。末尾に追加したり、特定のインデックスに挿入したりできます。
末尾への追加:
val mutableList = ArrayList()
mutableList.add("Apple")
mutableList.add("Banana")
mutableList.add("Cherry")
println(mutableList) // 出力: [Apple, Banana, Cherry]
特定のインデックスへの挿入:
mutableList.add(1, "Orange") // インデックス1に"Orange"を追加
println(mutableList) // 出力: [Apple, Orange, Banana, Cherry]
+=
演算子による要素の追加
+=
演算子は、要素を追加する簡潔な方法を提供し、特に単一要素の追加やリストのマージに役立ちます。
単一要素の追加:
val mutableList2 = ArrayList()
mutableList2 += 1
mutableList2 += 2
mutableList2 += 3
println(mutableList2) // 出力: [1, 2, 3]
別のコレクションからの複数要素の追加:
val list1 = ArrayList(listOf(1,2,3))
val list2 = listOf(4,5,6)
list1 += list2
println(list1) // 出力: [1, 2, 3, 4, 5, 6]
イミュータブルリストの扱い
add()
と+=
はどちらもミュータブルリスト向けに設計されています。イミュータブルリスト(listOf()
を使用して作成)でこれらを使用しようとすると、コンパイル時エラーが発生します。イミュータブルリストに追加するには、元の要素と新しい要素を含む新しいリストを作成する必要があります。
val immutableList = listOf("Apple", "Banana", "Cherry")
val newList = immutableList + "Orange" // 新しいリストを作成
println(newList) // 出力: [Apple, Banana, Cherry, Orange]
まとめ:
add()
は詳細な制御を提供し、+=
は簡潔な構文を提供します。ニーズに最適な方法を選択してください。ミュータブルリストとイミュータブルリストの違いを常に覚えて、エラーを回避してください。