기록
[코틀린/Kotlin] 컬렉션 2탄 - Set과 Map 본문
반응형
코틀린이 지원하는 컬렉션 클래스인 Set과 Map을 알아보자.
1. Set
List와 달리 순서가 정렬되지 않으며 중복이 허용되지 않는 컬렉션이다.
따라서 인덱스로 위치를 지정하여 객체를 참조할 수는 없으며, contains로 객체가 set 안에 존재하는지 확인하는 식으로만 사용한다.
Set 역시 MutableSet이 존재하여 객체의 추가, 삭제 가능 여부에 따라 사용한다.
요소의 추가 | 삭제 |
add(데이터) | remove(데이터) |
객체의 확인 |
contains(데이터) |
fun main() {
val a = mutableSetOf("귤", "바나나", "키위")
for(item in a)
{
println("${item}")
}
a.add("자몽")
println(a)
a.remove("바나나")
println(a)
println(a.contains("귤"))
}
2. Map
객체를 넣을 때 그 객체를 찾아낼 수 있는 Key를 쌍으로 넣어주는 컬렉션이다.
key - 객체를 찾기 위한 값
value - key와 연결된 객체
내부적으로는 MutableMap.MutableEntry에 객체로 담겨져 있으며 이러한 구조 때문에 객체의 위치가 아닌 고유한 key를 통해 객체를 참조하는 특징을 갖고 있다.
또한, 같은 key에 다른 객체를 넣으면 기존의 객체가 대체되니 주의해야 한다.
Map 역시 추가와 삭제가 가능한 MutableMap이 별도로 존재한다.
요소의 추가 | 삭제 |
put(키, 값) | remove(키) |
특정 위치의 객체 변경 |
map[키] = 값 |
fun main() {
val a = mutableMapOf("레드벨벳" to "음파음파",
"트와이스" to "FANCY",
"ITZY" to "ICY")
for(entry in a)
{
println("${entry.key}:${entry.value}")
}
a.put("오마이걸", "번지")
println(a)
a.remove("ITZY")
println(a)
println(a["레드벨벳"])
}
각각 key와 value를 to로 이어준다.
또한, "레드벨벳"이라는 key를 마치 배열을 참조하듯 map의 인덱스 형태로 참조해서 출력할 수 있다.
컬렉션은은 그 자체로도 중요하지만 다음 강의의 컬렉션 함수와 같이 사용할 때 더욱 유용하다.
https://www.youtube.com/watch?v=q7GV68jKLVM&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=26
위 강의를 보면서 개인적으로 공부한 내용을 정리하였습니다.
반응형
'[Study] > Kotlin' 카테고리의 다른 글
[코틀린/Kotlin] 컬렉션 함수 - 2 (0) | 2022.05.10 |
---|---|
[코틀린/Kotlin] 컬렉션 함수 - 1 (0) | 2022.05.10 |
[코틀린/Kotlin] Data Class와 Enum Class (0) | 2022.05.10 |
[코틀린/Kotlin] 중첩클래스와 내부클래스 (0) | 2022.05.10 |
[코틀린/Kotlin] 함수의 argument를 다루는 법과 infix 함수 (0) | 2022.05.09 |