Sets

  • Set은 고유한 원소를 저장함.
  • 순서를 저장하지는 않는다(정렬 방식은 일반적으로 정해져있지 않음.)

1. Immutable Sets

contains(element: E) 주어진 요소가 집합에 포함되어 있는지 확인
containsAll(elements: Collection<E>) 주어진 모든 요소가 집합에 포함되어 있는지 여부를 반환
isEmpty() 집합이 비어 있는지 여부를 확인
size 집합의 크기를 반환

 

//immutable set 선언
val set = setOf(1, 2, 3)

// size
val size = set.size

//집합이 비어있는지 확인
val empty = set.isEmpty()

//주어진 요소가 집합에 포함되어 있는지 확인
val containsElement = set.contains(1)

//주어진 모든 요소가 집합에 포함되어 있는지
val containsAllElements = set.containsAll(listOf(1, 2))

 

2.Mutable Sets

add(element: E) 집합에 요소를 추가
remove(element: E) 집합에서 주어진 요소를 제거
clear() 집합의 모든 요소를 제거
addAll(elements: Collection<E>) 주어진 모든 요소를 집합에 추가
removeAll(elements: Collection<E>) 주어진 모든 요소를 집합에서 제거
retainAll(elements: Collection<E>) 주어진 요소만을 유지하고 나머지는 집합에서 제거

 

//mutable set 선언
val mutableSet = mutableSetOf(1, 2, 3)

//추가
mutableSet.add(4)

//제거
mutableSet.remove(2)

//모두 제거
mutableSet.clear()

//모두 추가
mutableSet.addAll(listOf(5, 6))

//주어진 모든 요소 제거
mutableSet.removeAll(listOf(1, 3))

//주어진 요소만을 유지하고 나머지는 집합에서 제거
mutableSet.retainAll(listOf(4, 5))

 

Maps

  • key, value 쌍으로 저장하는 방식.
  • key 값은 고유하지만, 서로 다른 key가 같은 value 값을 가질 수는 있음

Immutable Map

size 맵의 크기를 반환
isEmpty() 맵이 비어있는지 여부를 반환
containsKey(key: K) 주어진 키가 맵에 포함되어 있는지 여부를 반환
containsValue(value: V) 주어진 값이 맵에 포함되어 있는지 여부를 반환
get(key: K) 주어진 키에 해당하는 값을 반환
*키 값이 없으면 null을 반환
keys 맵의 모든 키를 반환
values 맵의 모든 값을 반환
entries 맵의 모든 키-값 쌍을 반환

 

//immutable map 생성
val map = mapOf(1 to "one", 2 to "two", 3 to "three")

//size
val size = map.size

//비어있는지 확인
val empty = map.isEmpty()

//주어진 키가 맵에 포함되어 있는지
val containsKey = map.containsKey(1)

//주어진 값이 맵에 포함되어 있는지
val containsValue = map.containsValue("one")

//주어진 키에 해당하는 값
val value = map.get(1)

// 맵의 모든 키, 값
val values = map.values
val keys = map.keys

for (entry in map.entries) {
    println("${entry.key} -> ${entry.value}")
}

 

Mutable map

 

put(key: K, value: V) 맵에 키-값 쌍을 추가
remove(key: K) 주어진 키에 해당하는 키-값 쌍을 제거
clear() 맵의 모든 요소를 제거
putAll(from: Map<out K, V>) 주어진 맵의 모든 요소를 현재 맵에 추가

 

//Mutable map 생성
val mutableMap = mutableMapOf(1 to "one", 2 to "two", 3 to "three")

//맵에 키-값 쌍을 추가
mutableMap.put(4, "four")
// or
mutableMap[4] = "four"

//주어진 키에 해당하는 키-값 쌍을 제거
mutableMap.remove(2)

//맵에 모든 요소 제거
mutableMap.clear()

//주어진 맵의 모든 요소를 현재 맵에 추가
mutableMap.putAll(mapOf(5 to "five", 6 to "six"))