"알고 쓰자! 컬렉션 Map편 -Kotlin

구워먹는 삼겹살·2024년 11월 17일
0

Map 정의

Map 컬렉션 역시 내부적으로 자바의 Map을 이용하고 있으며 Key Value으로 구성된 요소를 지정합니다. 여기서 key value는 모두 객치이며 key 값은 중복이 될 수 없지만 값을 중복 저장이 가능합니다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대처

불변형 mapOf() 함수

mapOf() 함수는 불변형 Map 컬렉션을 만 들 수 있습니다. 키와 값의 쌍으로 이루어진 목록 생성

fun main() {
    val answer:Map<String,String> = mapOf("key1" to "value1", "key2" to "value2")
      println(answer["key1"]) //value1
      println(answer["key2"])//value1
   	  for((key,value) in answer){
          println("$key $value")//key1 value1 
          						//key2 value2
      }
}
  • answer["key1"]와 같은 방식으로 키 값을 사용하여 Map에서 해당하는 value를 접근할 수 있습니다. 이 방식은 키 값을 사용해 value를 참조하는 방식입니다.

  • for ((key, value) in answer)는 Map의 각 항목에 대해 키와 값을 순차적으로 가져와서 처리하는 방식입니다.

Map에서 사용되는 멤버 프로퍼티

  • size : Map 컬렉션 크기를 반환
  • keys : set의 모든 키 반환
  • value : set의 모든 value값 반환
  • isempty() : Map이 비어있으면 true값 반환 없으면 false
  • containsKey(key:K): 인자 해당키가 있으면 true 반환 없으면 false
  • containsValue(value:V) : 인자 해당 value가 있으면 true 반환 없으면 false
  • get(key:K): 키가 해당하는 값을 반환하며 없으면 null반환

가변형 mutableMapOf() 함수

mutableMapOf() 함수는 추가,삭제가 가능한 가변형 Map컬렉션입니다.

fun main() {
    val answer = mutableMapOf("key1" to "value1", "key2" to "value2")
      answer.put("key3", "value3")
      println(answer["key3"])//value3 새로운 요소 추가
      answer["key3"] = "changeValue3"//특정 key의 value값 변경 
      println(answer["key3"])//changeValue3  
}

가변형 멤버 메서드

  • put(key: K, value: V) : 키와 값의 쌍을 Map추가
  • remove(key: K): 키에 해당하는 요소를 Map에서 삭제
  • putAll(from: Map<outK,V>) 인자로 주어진 Map테이터를 갱신하거나 추가한다.
  • clear : 모든 요소를 지운다.

0개의 댓글