본문 바로가기
코틀린/[Aggregation] 집계 작업

[Kotlin][Set] union, subtract, intersect (합집합, 차집합, 교집합)

by jinwo_o 2024. 9. 7.

두 컬렉션의 모든 개별 요소를 포함하는 세트를 반환합니다.

public infix fun <T> Iterable<T>.union(other: Iterable<T>): Set<T> {
    val set = this.toMutableSet()
    set.addAll(other)
    return set
}


val set1 = setOf(1, 2, 3, 4)
val set2 = setOf(2, 3, 4, 5)
print(set1.union(set2)) // [1, 2, 3, 4, 5]

 

이 컬렉션에 포함되어 있고 지정된 컬렉션에 포함되지 않은 모든 요소를 포함하는 집합을 반환합니다.

public infix fun <T> Iterable<T>.subtract(other: Iterable<T>): Set<T> {
    val set = this.toMutableSet()
    set.removeAll(other)
    return set
}


val set1 = setOf(1, 2, 3, 4)
val set2 = setOf(2, 3, 4, 5)
print(set1.subtract(set2)) // [1]

 

이 컬렉션과 지정된 컬렉션 모두에 포함된 모든 요소를 포함하는 집합을 반환합니다.

public infix fun <T> Iterable<T>.intersect(other: Iterable<T>): Set<T> {
    val set = this.toMutableSet()
    set.retainAll(other)
    return set
}


val set1 = setOf(1, 2, 3, 4)
val set2 = setOf(2, 3, 4, 5)
print(set1.intersect(set2)) // [2, 3, 4]

 

union - Kotlin Programming Language

 

kotlinlang.org

 

subtract - Kotlin Programming Language

 

kotlinlang.org

 

intersect - Kotlin Programming Language

 

kotlinlang.org

'코틀린 > [Aggregation] 집계 작업' 카테고리의 다른 글

[Kotlin][Collection] groupingBy with eachCount  (0) 2024.09.07
[Kotlin][Collection] groupBy  (0) 2024.09.04
[Kotlin][Collection] count  (0) 2024.08.14