[Kotlin] Set, Map

박준규·2022년 1월 2일
0

코틀린

목록 보기
2/19

🌠 set

set은 list와 달리 순서가 정해져있지 않고 중복이 혀용되지 않는 컬렉션(collection)이다.
따라서 set은 index로 위치를 지정하여 객체를 참조할 수 없으며, setName.contains(원소_이름)으로 포함관계를 확인할 수 있다.
set 역시 MutableSet이 존재한다. 리스트와 마찬가지로 객체의 추가 삭제가 가능한지의 여부에 따라 사용하게 된다.
추가는 add, 삭제는 remove를 이용한다.

fun main() {
    val a = mutableSetOf("귤", "바나나", "키위")
    for (item in a) {
        println("${item}")
    }
    
    a.add("자몽")
    println(a)
    
    a.remove("바나나")
    println(a)
    
    println(a.contains("귤"))
}

🗺 Map

map은 객체를 넣을 때 그 객체를 찾아낼 수 있는 key를 쌍으로 넣어주는 컬렉션(collection)이다.

key와 value

key: 객체를 찾기 위한 값

value: key와 연결된 객체

내부적으로는 MutableMap.MutableEntry객체에 담겨있으며, 이러한 구조로 인해 객체의 위치가 아닌 객체의 키를 통해 참조하는 특징을 갖고 있다. 이때 같은 키 값에 다른 value를 넣으면 기존의 객체값은 대체되니 사용에 주의가 필요하다.

맵 역시 추가 삭제가 가능한 MutableMap<K, V>이 존재한다.

추가는 put(키, 값), 삭제는 remove(키)로 가능하다.

fun main() {
    // key와 value를 to로 이어주고 있음
    val a = mutableMapOf("Android" to "Kotlin",
                        "Vue.js" to "Javascript",
                        "Spring" to "Java",
                        "Django" to "Python")
    
    // 하나씩 꺼내서 출력해보자.
    // 이때 key, value는 그 자체로 속성값이다.
    for (item in a) {
        println("${item.key}: ${item.value}")
    }
    
    // put으로 새 key와 value를 넣어보자.
    a.put(".Net", "C#")
    println(a)
    
    // remove로 객체를 삭제해보자.
    a.remove("Vue.js")
    println(a)
    
    // 참조해보자.
    println(a["Android"])
}
profile
'개발'은 '예술'이고 '서비스'는 '작품'이다

0개의 댓글