본문 바로가기
Kotlin Language/Kotlin 기본 문법

Kotlin(코틀린) - 콜렉션(Map, Set)

by Classic Master 2023. 11. 30.
728x90

Map 란?

Key와 Value가 같이 들어가 저장되어 있는 데이터형 자료 구조입니다.

Key를 통하여 Value에 접근할 수 있으며, 반대로 Value에 접근하여 Key값을 찾아 낼 수도 있습니다.

그리고 Key의 중복은 불가능하지만 Value의 중복은 허용하고 있습니다.

 

mapOf()

오직 읽기만 가능한 Read-Only 형태를 가진 함수입니다.

//  var math = mapOf<Int> (7) //ERROR
// println(math) //ERROR
    var clone = mapOf<String, Int> ("복사" to 7) //KEY : 복사 // 값 : 7
    println(clone)

 

mutableMapOf()

읽기와 쓰기가 가능한 형태를 가진 함수입니다.

//  var math = mapOf<Int> (7) //ERROR
  // println(math) //ERROR   
    var clone2 = mutableMapOf<String, Int> ("복사" to 7) //KEY : 복사 // 값 : 7
    println(clone2)

 

Map / Set 에서 사용되는 프로퍼티, 메소드

멤버 내용
size 크기를 반환 받습니다.
keys 모든 키값을 반환합니다.
values 모든 값을 반환합니다.
isEmpty() 비어있는지 여부를 확인하여, true 또는 false를 반환합니다.
containsKey(key: K) 키가 있다면 true를,없으면 false를 반환합니다.
containsValue(value :V) 값이 있다면 true를, 없으면 false를 반환합니다.
get(key: K) 값을 반환하여, 없으면 null을 반환합니다.
유용한 메소드 내용
put(Key , Value) 키와 값을 추가합니다.
remove(Key) 키 값을 제거합니다.
putAll() map1.putAll(map2) 키, 값을 전체 추가
clear() 모든 요소를 삭제합니다.
filter 기준을 만들어 필터링하고 값을 얻습니다.
filterNot() 지정된 조건과 일치하는 항목만 포함하는 값을 반환받습니다.
mapIndexed() 인덱스와 값 두개를 사용하여, 조건을 주거나 새로운 값을 만들 수 있습니다.
mapKeys() Map의 키 값들을 변견합니다. Value 값은 유지합니다
mapValues() Map의 값들을 변견합니다. Key값은 유지합니다

 


Set 란?

정해진 순서가 없는 요소들의 집합을 나타내는 컬렉션이며, 동일한 요소를 중복해서 가질 수 없습니다.

 

setOf()

오직 읽기만 가능한 Read-Only 타입입니다. 

중복을 허용하지 않습니다.

 var clone2 = setOf(2,3,4,"포도") 
    println(clone2)//2,3,4, 포도

 

mutableSetOf()

읽기와 쓰기가 가능한 형태를 가진 함수입니다.

val animals = mutableSetOf("Tiger","Dog","Cat",)
    println(animals)    //  [Tiger, Dog, Cat]
    animals.add("Bird")
    println(animals)    //  [Tiger, Dog, Cat, Bird]
    animals.remove("Bird")
    println(animals)    //  [Tiger, Dog, Cat]
    println(animals.contains("Tiger")) // true
  • .add로 값 추가를 할 수 있습니다.
  • .remove로 값 제거를 할 수 있습니다.
  • .contains로 해당 값이 있는지 확인할 수 있습니다.
728x90
반응형