코틀린 집합형(setOf) 예제
setOf() 함수는 중복을 허용하지 않는 불변 Set 컬렉션을 생성하는 데 사용됩니다.
Set은 순서가 중요하지 않고, 각 요소는 한 번만 나타날 수 있습니다.
다음은 setOf() 함수를 사용하는 다양한 예제와 함께 Set의 주요 기능을 보여줍니다.
1. 기본적인 Set 생성
setOf() 함수에 원하는 요소들을 전달하여 Set을 생성합니다.
val numbers = setOf(1, 2, 3, 4, 5) // Int 타입의 Set
val names = setOf("John", "Jane", "Mike") // String 타입의 Set
println(numbers) // 출력: [1, 2, 3, 4, 5] (순서는 달라질 수 있음)
println(names) // 출력: [John, Jane, Mike] (순서는 달라질 수 있음)
2. 중복 요소 처리
Set은 중복을 허용하지 않으므로, 중복된 요소는 자동으로 제거됩니다.
val numbers = setOf(1, 2, 3, 2, 4, 5, 1)
println(numbers) // 출력: [1, 2, 3, 4, 5] (중복된 2와 1은 제거됨)
3. Set의 불변성
setOf() 함수로 생성된 Set은 불변 (immutable)입니다.
즉, Set을 생성한 후에는 요소를 추가, 삭제, 수정할 수 없습니다.
val numbers = setOf(1, 2, 3)
// numbers.add(4) // 오류: 불변 Set은 수정할 수 없습니다.
// numbers.remove(1) // 오류: 불변 Set은 수정할 수 없습니다.
4. 가변 Set (mutableSetOf())
요소를 추가, 삭제, 수정할 수 있는 Set이 필요한 경우 mutableSetOf() 함수를 사용합니다.
val mutableNumbers = mutableSetOf(1, 2, 3)
mutableNumbers.add(4)
mutableNumbers.remove(2)
println(mutableNumbers) // 출력: [1, 3, 4] (순서는 달라질 수 있음)
5. Set 연산
Set은 합집합, 교집합, 차집합과 같은 연산을 지원합니다.
val set1 = setOf(1, 2, 3, 4)
val set2 = setOf(3, 4, 5, 6)
println(set1.union(set2)) // 합집합: [1, 2, 3, 4, 5, 6]
println(set1.intersect(set2)) // 교집합: [3, 4]
println(set1.subtract(set2)) // 차집합: [1, 2]
6. Set 활용
Set은 특정 값이 Set에 포함되어 있는지 확인하거나, 중복을 제거해야 하는 경우 유용합니다.
val numbers = setOf(1, 2, 3, 4, 5)
println(numbers.contains(3)) // 출력: true
println(numbers.contains(6)) // 출력: false
val list = listOf(1, 2, 2, 3, 3, 3, 4, 4, 5)
val uniqueNumbers = list.toSet() // 중복 제거
println(uniqueNumbers) // 출력: [1, 2, 3, 4, 5]
더 자세한 내용은 다음 링크를 참조하세요.
반응형
'Kotlin' 카테고리의 다른 글
코틀린 콜렉션 타입 변환 예제 (0) | 2025.02.01 |
---|---|
코틀린 열거형(enum) 예제 (0) | 2025.02.01 |
코틀린 맵 예제 (mapOf(), mutableMapOf(), HashMap()) (0) | 2025.02.01 |
코틀린 함수 예제 (0) | 2025.02.01 |
코틀린 forEach, forEachIndexed 반복문 예제 (0) | 2025.02.01 |