🚀

Kotlinでリストを処理する関数

2021/12/31に公開

こんにちは〜

最近Kotlinでリストに要素を追加したり、消去したり、ソートしたりなんかをやったので、その備忘録的な感じで書いていきます。

要素を追加

val artists = mutableListOf("Sia", "Harry Styles", "Maroon 5", "Adele")
println(artists)

// add()で追加
artists.add("TWICE")
println(artists)

// addAll()で2つ以上の要素も追加できる
artists.addAll(listOf("BLACK PINK", "ITZY", "IU"))
println(artists)

出力

["Sia", "Harry Styles", "Maroon 5", "Adele"]
["Sia", "Harry Styles", "Maroon 5", "Adele", "TWICE"]
["Sia", "Harry Styles", "Maroon 5", "Adele", "TWICE", "BLACK PINK", "ITZY", "IU"]

まず最初に、artistsっていうリストを作りました。
ここで重要なのが、mutableListOfってところです。

mutableなので、一度定義した後でも変更が可能になるんですね。

add()で一つの要素を追加できます。
addAll()で、2つ以上の要素も追加可能になります。
引数には、listOf()で複数の値を渡してあげましょう。

それでは、次は追加したものを消してみましょう。

要素を消去

    val artists = mutableListOf("Sia", "Harry Styles", "Maroon 5", "Adele")
    println(artists)

// remove()で消去
    artists.remove("Adele")
    println(artists)

// removeAt()でリストの何番目を消去するか指定
    artists.removeAt(2)
    println(artists)

// clear()で中身を空にする
    artists.clear()
    println(artists)

// isEmpty()で中身が空かどうかを確認
    println(artists.isEmpty())

出力

[Sia, Harry Styles, Maroon 5, Adele]
[Sia, Harry Styles, Maroon 5, Adele]
[Sia, Harry Styles, Adele]
[]
true

まず今回は、remove()で引数に指定した要素を消去します。
もしここで、リストの中に存在しない要素を指定した場合、リストはなんの変化も起きずそのままの状態を保ちます。

次に、removeAt()では引数に指定した番号の要素を消去します。

clear()でリストの中身を空にしています。

最後のisEmpty()で中身が空ならtrueを返し、そうでなければfalseを返します。

最後に要素の入れ替えをやってみましょう。

要素の入れ替え

    val artists = mutableListOf("Sia", "Harry Styles", "Maroon 5", "Adele")
    println(artists)

    // Collections.replaceAll()で古い要素と新しい要素を入れ替え
	Collections.replaceAll(artists, "Sia", "TWICE")
	println(artists)

    // set()で何番目に何をセットするかを指定
	artists.set(2, "BLACK PINK")
	println(artists)

    // sort()で今回の場合アルファベット順にソートする
	artists.sort()
	println(artists)

出力

[Sia, Harry Styles, Maroon 5, Adele]
[TWICE, Harry Styles, Maroon 5, Adele]
[TWICE, Harry Styles, BLACK PINK, Adele]
[Adele, BLACK PINK, Harry Styles, TWICE]

Collections.replaceAll()でどのリストの、何と何を入れ替えるのかを指定しています。
第一引数に対象のリストを指定し、第二引数に元々ある古い値を指定します。そして、第三引数に新しく古い値と入れ替える値を指定することで、リストの中身が入れ替わっているんですね。

次のset()では、第一引数にリストの何番目かを指定して第二引数に実際にセットする値を入れます。

最後のsort()では、リストの中身をアルファベット順に並び替えているのがわかると思います。

最後に

簡単な内容でしたが、誰かの役に立てたらいいな〜と思います。
以上! 화이팅!!🔥

Discussion