Kotlin 중복 원소 제거 - distinct

Notepad96

·

2020. 12. 3. 14:22

300x250

 

 

 

 


1. distinct - 중복 원소 제거

 

Collections에서 중복된 원소를 제거하기 위해서 distinct 함수를 사용할 수 있다.

 

 

 

distinct

public fun <T> Iterable<T>.distinct(): List<T> {
    return this.toMutableSet().toList()
}

 

함수를 살펴보면 단순히 MutableSet으로 변환한 후 List로 변환하여 반환해준다.

 

 

해당 함수 실행 후 중복된 원소는 제거되며 순서는 유지된다.

 

 

 

 

 


2. 코 드

환경 : Kotlin Version = 1.4.20, JVM

fun main(args : Array<String>) {
    val ml = mutableListOf(1, 3, 2, 4, 5)
    ml.addAll(listOf(3, 2, 3, 1, 4, 5, 6))

    println("==================Distinct===================")
    println("before : $ml")
    val ml2 = ml.distinct()
    println("after : $ml2")

    println("==================Distinct2==================")
    val list = listOf('a', 'A', 'b', 'B', 'A', 'a')
    println(list)
    val list2 = list.distinct()
    println(list2)

}

 

결 과

 

- distinct 함수를 사용한 결과 원소들의 순서는 유지되며 중복된 원소는 제거된다.

 

 

 

- 문자의 경우도 동일한 동작을 한다.

 

 

 

 

 


3. 참 조

 

 

distinct - Kotlin Programming Language

 

kotlinlang.org

 

 

300x250