[kotlin] 코틀린 집합(Set)의 개념과 특징

코틀린에서 Set(집합)은 중복을 허용하지 않고, 순서가 없는 데이터의 모임을 나타냅니다. 이는 자바의 Set과 유사하며, 고유한 원소들의 컬렉션을 관리하는 데 사용됩니다.

코틀린 Set의 특징

  1. 중복된 원소를 허용하지 않음: Set은 동일한 원소를 여러 번 포함할 수 없습니다.

  2. 순서가 없음: Set은 원소를 저장하는 순서를 유지하지 않습니다. 따라서 인덱스를 통한 접근이 불가능하며, 원소들 간의 상대적 순서가 보장되지 않습니다.

  3. 수학 집합 연산을 지원: 합집합, 교집합, 차집합 등의 수학적 연산을 제공하여 Set 간의 연산을 편리하게 수행할 수 있습니다.

코틀린 Set 예제

fun main() {
    val set1 = setOf(1, 2, 3, 4, 5) // 읽기 전용 Set
    val set2 = mutableSetOf<Int>() // 가변적인 Set

    set2.add(3)
    set2.addAll(setOf(4, 5, 6))

    println("set1: $set1") // 출력: set1: [1, 2, 3, 4, 5]
    println("set2: $set2") // 출력: set2: [3, 4, 5, 6]

    val unionSet = set1.union(set2) // 합집합
    println("unionSet: $unionSet") // 출력: unionSet: [1, 2, 3, 4, 5, 6]

    val intersectSet = set1.intersect(set2) // 교집합
    println("intersectSet: $intersectSet") // 출력: intersectSet: [3, 4, 5]
}

위의 예제에서는 setOf 함수를 사용하여 읽기 전용 Set을 생성하고, mutableSetOf 함수를 사용하여 가변적인 Set을 생성하는 방법을 보여줍니다. 또한 unionintersect 함수를 통해 각각 합집합과 교집합을 구하는 방법을 보여줍니다.

Set은 컬렉션 프레임워크의 중요한 요소로, 고유한 원소들의 저장 및 관리에 활용됩니다.

더 많은 정보를 알고 싶다면, 코틀린 공식 문서를 참조해주세요.