Kotlin List Distinctで重複要素を削除する

List.distinct()

List.distinct()関数を使うと、重複した要素を削除できる。

fun main() {
    val list = listOf('a', 'b', 'c', 'a', 'c')

    println(list.distinct())
}

Output:

[a, b, c]

List.distinctBy()

List.distinctBy()関数を使うと、要素を変換し、その変換後の値の重複を基準に重複要素を削除することもできる。

fun main() {
    val list = listOf('a', 'A', 'b', 'B', 'c', 'A', 'a', 'C')

    println(list.distinct())
    println(list.distinctBy { it.uppercaseChar() })
}

Output:

[a, A, b, B, c, C]
[a, b, c]

Set

Setは重複なしで要素を保存するオブジェクトであり、ListをSetに変換してから再びListに戻すと、重複した要素が削除される。

fun main() {
    val list = listOf('a', 'b', 'c', 'a', 'c')

    val set = list.toSet()

    val newList = set.toList()

    println(newList)
}

Output:

[a, b, c]

参照