どうも、ちょげ(@chogetarou)です。
MutableList(ミュータブルリスト)の重複を削除する方法を紹介します。
方法

MutableList(ミュータブルリスト)の重複を削除する方法は、3つあります。
distinct()
1つ目は、distinct()を使う方法です。
まず、mutableListからdistinct()を呼び出します。
そして、distinct()からtoMutableList()を呼び出します。
val result : MutableList<T> = list.distinct().toMutableList()
上記のtoMutableList()は、distinct()を呼び出したmutbaleListの重複を削除したMutableListを返します。
使用例
fun main() {
val numbers = mutableListOf(1, 2, 2, 1, 3, 4, 1, 5, 3)
val result : MutableList<Int> = numbers.distinct().toMutableList()
println(numbers)
println(result)
}
出力:
[1, 2, 2, 1, 3, 4, 1, 5, 3]
[1, 2, 3, 4, 5]
distinctBy()
2つ目は、distinctBy()を使う方法です。
まず、mutableListからdistinctBy{}を呼び出します。
distinctBy{}のクロージャーに、itを記述します。
そして、distinctBy{}からtoMutableList()を呼び出します。
val result : MutableList<T> = list.distinctBy { it }.toMutableList()
上記のtoMutbaleList()は、distinctBy()を呼び出したMutableListの重複を削除したMutableListを返します。
使用例
fun main() {
val numbers = mutableListOf(1, 2, 2, 1, 3, 4, 1, 5, 3)
val result : MutableList<Int> = numbers.distinctBy { it }.toMutableList()
println(numbers)
println(result)
}
出力:
[1, 2, 2, 1, 3, 4, 1, 5, 3]
[1, 2, 3, 4, 5]
toSet()
3つ目は、toSet()を使う方法です。
まず、MutableListからtoSet()を呼び出します。
そして、toSet()からtoMutableList()を呼び出します。
val result : MutableList<T> = list.toSet().toMutableList()
上記のtoMutbleList()は、toSet()を呼び出したMutableListの重複を削除したMutableListを返します。
使用例
fun main() {
val numbers = mutableListOf(1, 2, 2, 1, 3, 4, 1, 5, 3)
val result : MutableList<Int> = numbers.toSet().toMutableList()
println(numbers)
println(result)
}
出力:
[1, 2, 2, 1, 3, 4, 1, 5, 3]
[1, 2, 3, 4, 5]
まとめ
MutableListの重複を削除する方法は、次の3つです。
- distinct()を使う方法
val result : MutableList<T> = list.distinct().toMutableList()
- distinctBy()を使う方法
val result : MutableList<T> = list.distinctBy { it }.toMutableList()
- toSet()を使う方法
val result : MutableList<T> = list.toSet().toMutableList()
コメント