Kotlin map

2023. 1. 31. 09:16Frontend/Android

    목차
반응형

immutable type map

decralation

val map1: Map<String, Int> = mapOf("1" to 1, "2" to 2)

use Pair

val map2: Map<String, Int> = mapOf(Pair("1", 1), Pair("2", 2))

mutable type

  • mutableMapOf
  • hashMapOf
  • linkedMapOf
  • sortedMapOf

MutableMap<K, V>
HashMap<K, V>
LInkedHashMap<K, V>
SortedMap<K, V>

declaration

insert

put

val map1: MutableMap<String, Int> = mutableMapOf("1" to 1, "2" to 2)

map1.put("3", 3)
map1.put(Pair("4", 4))

[]

map1["5"] = 5

remove

map1.remove("1")

+ with set

println(map1 + setOf("6" to 6, "7" to 7))

// {1=5, 3=3, 4=4, ...}

containsKey

값의 존재 확인

if (map1.containKey("1")) {
    println("it has 1")
}
map1.keys.any { it == "1" }
if (null != map["1"]) {
    println("it has 1")
}

null check

if (map[ch] == null) {
    map[ch] = 0
}

map[ch] += 1    // ERROR

null 일 수도 있는 경우 항상 null check를 수행해야 합니다.

if (map[ch] == null) {
    map[ch] = 0
}

map[ch]?.plus(1) ?: 0
반응형

'Frontend > Android' 카테고리의 다른 글

AVD에 파일 카피  (0) 2023.02.04
Android widgets  (0) 2023.02.04
Android, Jetpack data binding  (0) 2023.01.29
Android RecyclerView  (0) 2023.01.29
Jetpack architecture  (0) 2023.01.29