-
[Kotlin] 알고리즘 풀이하며 배운 개념 정리하기 (feat. addAll, mutableSetOf -Set)IT Study/컴퓨터 기초 2023. 12. 26. 19:23728x90
1. addAll
addAll 함수는 특정 컬렉션에 다른 컬렉션의 모든 요소를 추가하는 데 사용됩니다.
1-1. List에서 Set 추가
fun main() { // 1. 가변 Set 생성 val set1 = mutableSetOf(1, 2, 3) // 2. 리스트에서 추가할 요소를 가지고 있는 컬렉션 val listToAdd = listOf(3, 4, 5) // 3. set1에 listToAdd의 모든 요소를 추가 set1.addAll(listToAdd) // 4. 결과 출력 println("Set1: $set1") } // 출력 // Set1: [1, 2, 3, 4, 5]
1-2. Set에서 List 추가
fun main() { // 1. 가변 List 생성 val list1 = mutableListOf("apple", "banana") // 2. Set에서 추가할 요소를 가지고 있는 컬렉션 val setToAdd = setOf("banana", "orange", "grape") // 3. list1에 setToAdd의 모든 요소를 추가 list1.addAll(setToAdd) // 4. 결과 출력 println("List1: $list1") } // 출력 // List1: [apple, banana, banana, orange, grape]
1-3. MutableMap에서 Set 추가
fun main() { // 1. 가변 Set 생성 val set1 = mutableSetOf("apple", "banana") // 2. MutableMap에서 추가할 키 집합을 가지고 있는 컬렉션 val mapToAdd = mutableMapOf("banana" to 3, "orange" to 4) // 3. set1에 mapToAdd의 모든 키를 추가 set1.addAll(mapToAdd.keys) // 4. 결과 출력 println("Set1: $set1") } // 출력 // Set1: [apple, banana, orange]
addAll을 보다보니, mutableSetOf과 Set의 차이를 알아야 할 것 같습니다.
2. mutableSetOf과 Set의 차이
mutableSetOf과 Set은 Kotlin에서 각각 가변(mutable)과 불변(immutable)한 Set을 생성할 수 있는 방법입니다.
그들 간의 주요 차이점은 변경 가능성(mutability)에 있습니다.
2-1. mutableSetOf
mutableSetOf은 가변 Set을 생성합니다. mutableSetOf은 수정 가능하며, 요소를 추가하거나 제거할 수 있습니다.
mutableSetOf으로 생성된 Set은 MutableSet 인터페이스를 따르고 있습니다.val mutableSet = mutableSetOf(1, 2, 3) mutableSet.add(4) mutableSet.remove(2)
2-2. Set
Set은 불변 Set을 생성합니다. Set은 한 번 생성되면 그 상태를 변경할 수 없습니다.
따라서 요소를 추가하거나 제거하는 메서드가 없습니다.
Set으로 생성된 Set은 Set 인터페이스를 따르고 있습니다.val set = setOf(1, 2, 3) // set.add(4) // 컴파일 오류
'IT Study > 컴퓨터 기초' 카테고리의 다른 글
함수의 Parameter와 Argument (feat. 매개변수? 전달인자?) (0) 2024.01.14 [Kotlin] 코틀린의 Map: mapOf, mutableMapOf, Map의 차이 (0) 2023.12.27 [TypeScript] 타입 스크립트 헷갈리는 기초 문법 (0) 2023.10.03 [CS] 신입 개발자 기술면접 질문 - 자료구조 편 (2) 2023.09.29 [CS] 신입 개발자 기술면접 질문 - 네트워크 편 (0) 2023.09.18