[kotlin] 코틀린의 Set 타입

코틀린에서 Set은 중복을 허용하지 않는 원소들의 집합을 나타내는 컬렉션 타입입니다. Set은 순서가 없으며, 인덱스로 원소에 접근할 수 없습니다.

Set 생성

setOf() 함수를 사용하여 Set을 생성할 수 있습니다. 또는 setOf() 함수 대신 **setOf<타입>()** 형식을 사용하여 타입을 명시할 수도 있습니다.

val set1 = setOf(1, 2, 3, 4, 5) // Set<Int> 타입
val set2: Set<String> = setOf("apple", "banana", "orange") // Set<String> 타입

또는 mutableSetOf() 함수를 사용하여 변경 가능한 Set을 생성할 수도 있습니다.

val mutableSet = mutableSetOf<Int>()
mutableSet.add(10)
mutableSet.add(20)

Set 연산

코틀린의 Set은 합집합, 교집합, 차집합과 같은 표준 집합 연산을 지원합니다.

val setA = setOf(1, 2, 3, 4, 5)
val setB = setOf(4, 5, 6, 7, 8)

val union = setA.union(setB) // 합집합 {1, 2, 3, 4, 5, 6, 7, 8}
val intersect = setA.intersect(setB) // 교집합 {4, 5}
val subtract = setA.subtract(setB) // 차집합 {1, 2, 3}

Set 연산 함수

Set 타입은 다양한 집합 연산 함수를 제공합니다. 예를 들어, contains() 함수를 사용하여 원소의 존재 여부를 확인할 수 있습니다.

val fruitSet = setOf("apple", "banana", "orange", "grape")

if (fruitSet.contains("apple")) {
    println("사과가 포함되어 있습니다.")
} else {
    println("사과가 포함되어 있지 않습니다.")
}

요약

코틀린의 Set은 중복을 허용하지 않는 집합을 나타내며, 집합 연산을 편리하게 수행할 수 있는 유용한 컬렉션 타입입니다. Set을 사용하여 데이터의 고유한 값들을 유지하고 효율적으로 관리할 수 있습니다.

참고 자료