Hello, Android!

Map 본문

Kotlin

Map

lwndnjs93 2020. 7. 12. 15:10

Map은 키 와 값으로 데이터를 저장한다

키는 중복될수 없지만 값은 중복이 가능하다

만약 동일한 키에 서로 다른 값을 저장하게 되면

기존에 저장한 값은 없어지고 새롭게 저장한 값으로 저장된다

 

- Map

다른 컬렉션들과 같이 Map 또한 불변형과 가변형이 있다

mapOf는 불변형, mutableMapOf는 가변형 map이다

키, 값의 구조를 하고있기때문에 map 생성 시에도 to를 이용하여 키와 값을 명시하여야 한다

set의 요소에 접근할때는 배열처럼 map.[키] 혹은 map.get(키) 를 활용하여 접근이 가능하다

 

- put() : 가변형 set의 경우 매개변수로 키, 값을 넘겨주면 해당 셋에 저장이 가능하다

- remove() : 매개변수로 key를 받으며 해당 데이터를 삭제한다

- putAll() : 매개변수로 set을 받으며, 매개변수로 넘겨준 set을 추가한다

- keys : 해당 set의 모든 key를 반환한다

- values : 해당 set의 모든 값을 반환한다

- size : set의 크기를 반환한다

- isEmpty : set이 비어있는지 체크하여 결과를 boolean으로 반환한다

- containsKey : 매개변수로 받은 값이 해당 set에 키로써 존재하는지 확인하여 boolean값을 반환한다

- containsValue : 매개변수로 받은 값이 해당 set에 값으로써 존재하는지 확인하여 boolean값을 반환한다

- clear : set의 모든 요소를 지운다

 

- hashMapOf

hashMapOf는 해시테이블에 데이터를 저장할수 있는 hashSet컬렉션을 만든다

해시테이블은 키와 인덱스를 이용하여 검색, 변경 등을 아주 빠르게 처리가 가능하다

 

- sortedMapOf

sortedMap은 키에 대하여 오름차순으로 정렬된 형태로 반환한다

 

- linkedMapOf

linkedSetOf는 링크드 리스트(linked list)에 데이터를 저장한다

앞의 두 map과 비교하여 속도는 느리지만

링크트 리스트가 포인터를 이용하여 다음 데이터와 연결되기 때문에

메모리를 적게 사용한다는 장점이 있다

'Kotlin' 카테고리의 다른 글

컬렉션의 연산, 집계  (0) 2020.07.19
pair, triple  (0) 2020.07.12
Set  (0) 2020.07.11
List  (0) 2020.07.05
문자열  (0) 2020.07.04