-
[Kotlin] MapKotlin 2022. 9. 14. 16:20
Map : Key 와 Value 로 데이터를 관리하는 컬렉션
-mapOf : 불변형 Map을 생성
-mutableMapOf : 가변형 Map을 생성
fun main(){ // <String, Int> : String-key 값의 자료형 Int-value 값의 자료형 val map1 = mapOf<String, Int>("key1" to 10, "key2" to 20, "key3" to 30) println("map1 : $map1") val map2 = mutableMapOf<String, Int>() println("map2 : $map2") // <String, Int> : String-key 값의 자료형 Any-value 값의 자료형 val map3 = mapOf<String, Any>("key1" to 10, "key2" to 11.11, "key3" to true) println("map3 : $map3") }
맵의 자료에 접근하는 방법- get : 이름을 통해 객체 추출 가능
- Kotlin의 Map은 [ ] 사용 가능println("map1 key1 : ${map1.get("key1")}") println("map1 key2 : ${map1["key2"]}")
기타 메서드- size : 관리하는 요소의 개수
- keys : key를 배열로 반환
- values : 객체들을 배열로 반환
- containsKey : 지정된 이름으로 저장된 객체가 있는지 확인
- containsValue : 지정된 값으로 저장된 객체가 있는지 확인
println("map1 size : ${map1.size}") println("map1 keys : ${map1.keys}") println("map1 values : ${map1.values}") println("map1 contains key1 : ${map1.containsKey("key1")}") println("map1 contains key100 : ${map1.containsKey("key100")}") println("map1 contains value 10 : ${map1.containsValue(10)}") println("map1 contains value 100 : ${map1.containsValue(100)}")
가변형 MAP 에 요소 추가 삭제
- put : 객체를 추가한다. 기존 이름과 동일할 경우 덮어 씌움
- remove : 주어진 이름으로 저장된 객체를 제거
map2.put("key1", 100) // 키값과 밸류값을 제공하여 추가 println("map2 : $map2") map2["key2"] = 200 // 키값을 인데스와 같이 사용하여 추가 println("map2 : $map2") map2.put("key1", 1000) // 이미 존재하는 키값으로 요소를 추가하면 해당 밸류값이 수정됨 map2["key2"] = 2000 // 이미 존재하는 키값으로 요소를 추가하면 해당 밸류값이 수정됨 println("map2 : $map2") map2.remove("key1") println("map2 : $map2")
가변형과 불변형간의 변환
val map100 = map1.toMutableMap() map100["key100"] = 1000 println("map100 : $map100") val map200 = map100.toMap() //map200["key200"] = 2000
'Kotlin' 카테고리의 다른 글
[Kotlin] Card Game (0) 2022.09.14 [Kotlin] Set (0) 2022.09.14 [Kotlin] List (0) 2022.09.14 [Kotlin] TypeCasting (0) 2022.09.14 [Kotlin] Companion (0) 2022.09.14