POST

[코틀린] 안드로이드 코틀린 컬렉션 - set / map

여러 개의 값을 넣을 수 있는 자료형에는 배열 외에도 컬렉션(Collection)이 있습니다. 컬렉션은 다른 이름으로 동적 배열이라고도 하는데, 배열과는 다르게 공간의 크기를 처음 크기로 고정하지 않고 임의의 개수를 담을 수 있기 때문입니다.

컬렉션에는 크게 세가지로 리스트(List), 맵(Map), 셋(Set)이 있습니다.

 

셋(Set)

set은 중복을 허용하지 않는 리스트(List)라고 할 수 있습니다. 리스트와 유사한 구조이지만 인덱스로 조회할 수 없고, get()함수도 지원하지 않습니다.

 

빈 Set 생성하기 - mutableSetOf()

var 변수이름 = mutableSetOf<데이터타입>()

Set 값 입력하기 - add

Set은 중복을 허용하지 않아 중복된 값을 추가 할 수 없습니다.

변수이름.add("값")

Set 사용하기 - 전체 출력

Set은 인덱스로 조회하는 함수가 없기 때문에 특정위치의 값을 사용 할 수 없습니다.

${변수이름} 또는 $변수이름

Set 삭제하기 - remove

셋은 값이 중복되지 않기 때문에 값으로 직접 조회해서 삭제할 수 있습니다.

변수이름.remove("값")

맵(Map)

Map은 키(Key)와 값(Value) 쌍으로 입력되는 컬렉션입니다. 맵의 키는 리스트(List)의 인덱스와 비슷하게 사용 됩니다.

다른점은 Map은 키를 직접 입력해야 합니다.

 

빈 Map 생성하기 - mutableMapOf()

Map은 생성시 엘리먼트의 데이터 타입을 지정해야합니다.

var 변수이름 = mutableMapOf<String, String>()

엘리먼트는 Map의 키와 값을 의미합니다.

 

Map 값 입력하기 - put()

Map에 값을 입력하기 위해서는 put()함수를 이용합니다. 입력시에는 키와 값을 함께 입력합니다.

변수이름.put("키","값")

Map 사용하기 - get()

get()함수를 이용해 값을 꺼낼 수 있습니다. 키는 인덱스 처럼 사용할 수 있습니다.

변수이름.get("키")

 

Map 수정하기 - put()

put()함수는 값을 입력 할 때와 같이 사용합니다. 키가 같은 경우 키의 위치는 유지된채 값만 수정됩니다.

변수이름.put("키","값")

Map 삭제하기 - remove()

remove() 함수를 사용해서 값을 삭제 할 수 있습니다. 중간의 키를 제거하더라도 다른 키값은 변경되지 않습니다.

변수이름.remove("키")