Kotlin ListとMutableListのサンプル

KotlinのListとMutableListのサンプルです。

目次

サンプル ListとMutableList
  要素に初期値をセットする
  要素を取得する (インデックス/get)
  要素をすべて取得する (for文)
  指定の値があるか真偽値を返す (contains)
  インデックスを取得する (indexOf)
  要素数を取得する (size)
  中身が空か真偽値を返す (isEmpty)
  要素を追加する (add)
  要素を置き換える (インデックス/set)
  値を指定して要素を削除する (remove)
  インデックスを指定して要素を削除する (removeAt)
  要素をすべて削除する (clearメソッド)
  リストを連結する (addAll)

ListとMutableList

要素に初期値をセットする

fun main() {
    val color1 = listOf("赤","黄","青")
    val color2 = mutableListOf("赤","黄","青")

    println(color1) //[赤, 黄, 青]

    color2.add("オレンジ");
    println(color2) //[赤, 黄, 青, オレンジ]
}

2,3行目は、要素に初期値をセットしています。

要素を取得する (インデックス/get)

fun main() {
    val color1 = listOf("赤","黄","青")
    val color2 = mutableListOf("赤","黄","青")

    println(color1[1]) //[黄]
    println(color1.get(1)) //[黄]

    println(color1[2]) //[青]
    println(color2.get(2)) //[青]
}

5,8行目のようにインデックス指定で値を取得できます。
6,9行目のようにgetを使用するとインデックス指定するようにIDEが推奨してきます。

要素をすべて取得する (for文)

fun main() {
    val color1 = listOf("赤","黄","青")
    val color2 = mutableListOf("赤","黄","青")

    for (i in color1.indices) {
        println(color1[i]) // 赤 黄 青が出力される
    }
    for (i in color2.indices) {
        println(color2[i]) // 赤 黄 青が出力される
    }
}

indicesは、indexの複数形です。長さを返します。

指定の値があるか真偽値を返す (contains)

fun main() {
    val color1 = listOf("赤","黄","青")
    val color2 = mutableListOf("赤","黄","青")

    if (color1.contains("黄")){
        println("Trueです"); //Trueですと出力される
    }
    if (color2.contains("青")){
        println("Trueです"); //Trueですと出力される
    }
}

containsメソッドは、指定の値がある場合、trueを返します。

インデックスを取得する (indexOf)

fun main() {
    val color1 = listOf("赤","黄","青")
    val color2 = mutableListOf("赤","黄","青")

    println(color1.indexOf("黄")); //1

    println(color1.indexOf("青")); //2
}

indexOfメソッドは、要素を指定するとインデックス(位置)を返します。
要素の位置は、赤=0、黄=1、青=2です。

要素数を取得する (size)

fun main() {
    val color1 = listOf("赤","黄","青")
    val color2 = mutableListOf("赤","黄","青")

    println(color1.size); //3

    println(color2.size); //3
}

sizeは、要素数を返します。

中身が空か真偽値を返す (isEmpty)

fun main() {
    val color1 = listOf("赤","黄","青")
    val color2 = mutableListOf("赤","黄","青")

    println(color1.isEmpty()); //false

    color2.clear()
    println(color2.isEmpty()); //true
}

isEmptyメソッドは、中身が空の場合、trueを返します。

要素を追加する (add)

fun main() {
    val color2 = mutableListOf("赤","黄")
    color2.add("青")
    println(color2); //[赤, 黄, 青]

    color2.add(0,"オレンジ")
    println(color2); //[オレンジ, 赤, 黄, 青]
}

3行目は、addメソッドで要素を末尾に追加しています。
6行目は、位置を指定して要素を追加しています。最初の位置は0から始まります。

要素を置き換える (インデックス/set)

fun main() {
    val color2 = mutableListOf("赤","黄","青")

    color2[1] = "オレンジ";
    println(color2); //[赤, オレンジ, 青]

    color2.set(1, "紫");
    println(color2); //[赤, 紫, 青]
}

4行目のようにインデックス指定で値を取得できます。
7行目のようにsetを使用するとインデックス指定するようにIDEが推奨してきます。

値を指定して要素を削除する (remove)

fun main() {
    val color2 = mutableListOf("赤","黄","青")

    color2.remove("赤");
    println(color2); //[黄, 青]
    println(color2[0]); //黄
    println(color2[1]); //青
}

removeメソッドは、要素の値を指定して削除します。

インデックスを指定して要素を削除する (removeAt)

fun main() {
    val color2 = mutableListOf("赤","黄","青")

    color2.removeAt(0);
    println(color2); //[黄, 青]
    println(color2[0]); //黄
    println(color2[1]); //青
}

removeAtメソッドは、要素の位置を指定して削除します。
要素の位置は、赤=0、黄=1、青=2です。
削除後のインデックス値は前につまります。

要素をすべて削除する (clearメソッド)

fun main() {
    val color2 = mutableListOf("赤","黄","青")

    color2.clear();
    println(color2); //[]
}

clearメソッドは、すべての要素を削除します。

リストを連結する (addAll)

fun main() {
    val color2 = mutableListOf("赤","黄","青")
    val color3 = mutableListOf("白","黒","緑")

    color2.addAll(color3);

    println(color2); //[赤, 黄, 青, 白, 黒, 緑]
}

addAllメソッドは、リストを連結します。

関連の記事

Kotlin for文 処理を繰り返す(break/continue)

△上に戻る