본문 바로가기

프로그래밍 언어/코틀린_쌩초보를 위한 기초

쌩초보를 위한 기초_21_컬렉션 collection_Set&&Map

set : setOf() 또는 mutableSetOf()

 

set(쎝)은 각 요소가 고유하고 중복 없는 요소들의 컬렉션이다.

그러므로 사용자의 id와 같이 중복을 걸러야(filtering) 할 때 유용하다.

변경 가능하게 사용하려면 mutableSetOf를 사용한다.

 

set은 객체의 hashCode() 해시코드 함수를 사용하여 중복을 걸러낸다.

set는 데이터를 찾을 때 List처럼 항목의 인덱스(index)를 사용하지 않고 index의 해시코드를 사용한다.

이것을 사용하여 고유하고 명확한 컬렉션을 유지할 수 있다.

set에 대한 활용법 등은 다음 기회에 다루기로 한다.

 

Map : mapOf() 또는 mutableMapOf()

 

맵(map)은 각각의 value(값)에 고유한 key가 있는 객체의 쌍을 저장한다.

그러므로 맵은 key-value 쌍으로 된 컬렉션이다.

각 쌍은 아무 타입으로나 만들 수 있고 두 객체(objects)를 포함한다.

하나의 값을 하나의 키에 연결할 때 유용하다.

 

각 맵은  key-value 2개의 generic type(제네릭 타입) 매개변수를 가진다.

제네릭 타입은 고정된 크기의 정적(static) 타입과 달리 다른 타입들과 함께 다루거나 재사용할 수 있는 포괄적인 타입을 말한다.

초기화에서 to() 함수를 사용하여 쌍을 만들 수 있다.

 

 

mutableMapOf()를 사용하면 key(키)를 사용해서 value(값)을 바꿀 수 있다.

 

 

맵에 있는 인덱스는 실제로 key이므로 대괄호[ ]로 전달해야 한다.

 

값을 추가하고 싶으면 put()를 호출하여 키-값을 더하거나 대괄호[ ]를 사용할 수도 있다.

 

map은 각 요소에 대해 객체가 2개 이므로 데이터 요소의 탐색을 반복(iterate)할 때도 쌍을 사용한다.

 

 

set과 map 컬렉션에 대해 간단히 알아보았다.

관련된 자세한 내용은 다음 기회에 다루기로 한다.

끝.