[Kotlin] 리스트 중복 값 제거
April 06, 2024
리스트가 갖고 있는 요소들 중에 중복 값을 찾아서 제거하는 방법에 대해서 알아보겠습니다.
리스트는 Set과 다르게 중복 값이 저장될 수 있습니다.
1. distinct()를 이용한 방법
List.distinct()는 리스트에서 중복된 값을 제거하여, 유일한 값만 남도록 합니다.
아래와 같이 중복 값을 제거할 수 있습니다.
fun main() {
val list = listOf(1, 2, 2, 3, 4, 4, 5)
val newList = list.distinct()
println(newList)
}
Output:
[1, 2, 3, 4, 5]
2. Set를 이용한 방법
Set는 중복 값을 허용하지 않는 자료구조로, 중복 값을 추가해도 추가가 되지 않습니다.
이것을 이용하여 아래와 같이 리스트를 Set로 변경하고 다시 List로 변경하면, 이 과정에서 중복 요소가 삭제됩니다.
fun main() {
val list = listOf(1, 2, 2, 3, 4, 4, 5)
val newList = list.toSet().toList()
println(newList)
}
Output:
[1, 2, 3, 4, 5]
3. for문을 이용한 방법
for문으로 루프를 돌면서, 중복된 값을 제외한 나머지 요소들로 새로운 리스트를 구성하는 방법이 있습니다.
fun main() {
val list = listOf(1, 2, 2, 3, 4, 4, 5)
val newList = mutableListOf<Int>()
for (item in list) {
if (!newList.contains(item)) {
newList.add(item)
}
}
println(newList)
}
Output:
[1, 2, 3, 4, 5]