셋(Set)
: 값의 중복을 허용하지 않는 리스트. 리스트에서 인덱스가 빠진 데이터 타입으로 인덱스를 조회할 수 없고, get 함수도 지원하지 않는다.
-셋의 값 삭제
set.remove("FEB") ⇒ 따라서, 값을 인덱스 번호가 아닌, 직접 입력하여 삭제해야 한다.
맵(Map)
: 키(Key)와 값(Value)을 쌍으로 갖는 데이터 타입.
a. 빈 맵 생성하고 값 추가: put -> 키와 값 추가 시마다 리스트처럼 맵의 공간 늘어남.
var map = mutableMapOf<String, String>()
map.put("key1", "value2")
map.put("key2", "value2")
map.put("key3", "value3")
b. 맵 사용: get -> 키 직집 입력하여 값 꺼내기
Log.d("CollectionMap", "map에 입력된 key1의 값은 ${map.get("key1")}입니다.")
// [로그캣 출력 내용]
// map에 입력된 key1의 값은 value2입니다.
c. 맵 수정: put -> 동일한 키 가진 값이 있으면 키 유지된 채 값만 수정
map.put("key2", "수정")
d. 맵 삭제: remove -> 함수에 키 입력
map.remove("key2")
단, 리스트와 다르게 키 값 변경 없이 그대로 유지. 그리하여, 출력시 null값 출력
이뮤터블 컬렉션(불변형 컬렉션)
: kotlin은 일반 배열처럼 크기를 변경할 수 없으면서 값 또한 변경할 수 없는 이뮤터블 컬렉션을 지원한다. (기존 컬렉션에서 mutable이라는 접두어가 제거된 형태로 사용 )
var list = listOf("1", "2") (맵의 형태와 유사)
// [로그캣 출력 내용]
// 리스트의 두 번째 값은 FEB입니다.