개요
Kotlin
STL 정리하기의 마지막 편으로 예상하는 MutableSet & MutableMap
에 대한 포스트 입니다.
MutableSet
집합을 의미하는 Set
, MutableSet
자료구조의 STL은 전반적으로 List
, MutableList
와 거의 동일합니다. 따라서 리스트 자료구조를 사용하는 것과 동일하게 사용하면 되고, 추가적으로 아래와 같은 메서드만 알아두면 됩니다.
intersect
set
2개의 교집합을 갖는 set
을 리턴합니다.
1 |
|
1 |
|
union
set
2개의 합합집합을 갖는 set
을 리턴합니다.
1 |
|
1 |
|
SortedSet
Kotlin은 삽입 시에 자동으로 요소들이 정렬되는 SortedSet
자료구조도 제공합니다. 내부적으로는 Java
의 TreeSet
으로 구현되어 있으며, STL은 Set
과 동일합니다.
sortedSetOf
SortedSet
을 생성합니다.
1 |
|
toSortedSet
일반적인 Set
을 SortedSet
으로 변환합니다.
1 |
|
MutableMap
Map
은 유일한 key
에 value
가 매치되어 있는 형태의 자료구조로, Kotlin의 경우 Entry<K, V>
형태의 객체를 map
의 element로 갖습니다. Map
과 MutableMap
또한 집합 자료구조와 동일하게 List
및 MutableList
의 STL을 사용할 수 있습니다. 아래는 그 외에 Map
에서만 사용 가능한 STL 목록입니다.
keys
Map
의 key
목록을 담은 set
을 반환합니다.
1 |
|
1 |
|
values
Map
의 value
목록을 담은 set
을 반환합니다.
1 |
|
1 |
|
put & set
Map
에 key
에 따른 value
를 추가합니다. set
메서드를 통해 []
를 이용할 수 있습니다.
1 |
|
1 |
|
filterKeys
특정 조건을 만족하는 key
만 포함하는 map
을 반환합니다.
1 |
|
1 |
|
filterValues
특정 조건을 만족하는 value
만 포함하는 map
을 반환합니다.
1 |
|
1 |
|
get
특정 key
에 따른 value
를 반환하고, 없을 시 null
을 반환합니다.
1 |
|
1 |
|
getOrElse
특정 key
에 따른 value
를 반환하고, 없을 시 기본값을 반환하는 함수를 정의해 이를 반환합니다.
1 |
|
1 |
|
mapKeys
기존 map
에서 value
를 유지하고 key
값들만 변환한 새로운 map
을 반환합니다.
1 |
|
1 |
|
mapValues
기존 map
에서 key
를 유지하고 value
들만 변환한 새로운 map
을 반환합니다.
1 |
|
1 |
|
toSortedMap
Map
의 key
값을 주어진 조건에 따라 정렬한 SortedMap
을 반환합니다.
1 |
|
1 |
|
마치며
이로써 문자열, 리스트에 이어 집합 및 테이블 형태의 자료구조까지 STL을 정리해보았습니다. 정리하면서 깨달은 Kotlin STL의 또 다른 장점은 바로 Iteratable
형태를 갖는 모든 자료구조는 공통적으로 사용하는 STL이 많이 겹친다는 것입니다. 예를 들어 any
, all
, filter
, map
과 같이 유용한 메서드들이 모든 자료구조에서 동일한 기능으로 제공되기 때문에, 설령 익숙치 않은 자료구조더라도 쉽게 STL을 예측해서 사용할 수 있습니다.
지금까지 작성한 Kotlin STL에 대한 게시글은 추후 알고리즘 문제를 풀며 유용한 STL 사용법을 발견할 시 지속적으로 업데이트 할 예정입니다.
- Post link: https://blog.yjyoon.dev/kotlin/2023/03/25/kotlin-03/
- Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.