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]