Menu
Coddy logo textTech

ListとMutableListの違い

CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 67/93。

これまで、単一の値を保持する個々の変数を扱ってきました。しかし、名前のリストや数値の並びのように、項目の集合を保存する必要がある場合はどうでしょうか。そこで登場するのがリストです。

Kotlin には、ListMutableList の 2 種類のリストがあります。主な違いは、リストを作成した後に変更できるかどうかです。

List読み取り専用です。そのインターフェースでは、要素の追加、削除、置換を行う操作は公開されていません。これは完全な不変性を保証するものではありません。同じ基盤となる可変オブジェクトが、別の参照を通じて変更される可能性があります。

val fruits = listOf("Apple", "Banana", "Cherry")
val numbers = listOf(1, 2, 3, 4, 5)

MutableListを使うと変更が可能です。新しい要素を追加したり、既存の要素を削除したり、値を更新したりできます。

val fruits = mutableListOf("Apple", "Banana")
fruits.add("Cherry")  // 現在の内容: Apple, Banana, Cherry

データを変更すべきでない場合はlistOf()を使い、柔軟性が必要な場合はmutableListOf()を使います。この区別により、意図しない変更を防ぎ、コードの意図をより明確にできます。

challenge icon

チャレンジ

中級

"Red""Green""Blue"という3つの文字列を含む、colorsという読み取り専用リストを作成してください。

次に、1020という2つの整数で始まる、numbersという変更可能なリストを作成してください。

numbersリストに値30を追加してください。

最後に、次の順序で両方のリストをそれぞれ別の行に出力してください。

  1. colorsリスト
  2. numbersリスト

自分で試してみよう

fun main() {
    // TODO: "Red", "Green", "Blue" を持つ 'colors' という読み取り専用リストを作成する
    
    // TODO: 10 と 20 を持つ 'numbers' という可変リストを作成する
    
    // TODO: numbers リストに 30 を追加する
    
    // TODO: 両方のリストを別々の行に出力する(先に colors、次に numbers)
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド