테크과학! DiMo
개발 환경: play.kotlinlang.org
Set
리스트와 달리 순서가 정렬되지 않으며, 중복이 허용되지 않은 컬렉션.
따라서 Set은 인덱스로 위치를 지정하여 객체를 참조할 수 없으며 contains()로 객체가 set안에 존재하는 지를 확인하
는 식으로 사용
Set<out T> 역시 MutableSet<T>이 존재한다.
List와 마찬가지로 객체의 추가, 삭제가 가능한지 여부에 따라 사용하게 된다. 그리고 역시
요소의 추가 add(데이터)
요소의 삭제 remove(데이터)
fun main() {
val a = mutableSetOf("귤", "바나나", "키위")
for (item in a) {
println ("${item}")
}
a.add("자몽")
println(a)
a.remove("바나나")
println(a)
println(a.contains("귤"))
}
Output:
귤
바나나
키위
[귤, 바나나, 키위, 자몽]
[귤, 키위, 자몽]
true
Map
Map은 객체를 넣을 때 그 객체를 찾아낼 수 있는 Key를 쌍으로 넣어주는 컬렉션.
이런 구조 때문에 객체의 위치가 아닌 고유한 key를 통해 객체를 참조하는 특징.
또한 같은 key에 다른 객체를 넣으면 기존의 객체가 대체된다.
Map<K, out V> 역시 추가 삭제가 가능한 MutableMap<K, V>이 존재한다.
요소의 추가 put(데이터)
요소의 삭제 remove(데이터)
fun main() {
val a = mutableMapOf("레드벨벳" to "음파음파",
"트와이스" to "FANCY",
"ITZY" to "ICY") // key와 value를 to로 이어줌
for (entry in a) {
println("${entry.key} : ${entry.value}")
}
a.put("오마이걸", "번지")
println(a)
a.remove("ITZY")
println(a)
println(a["레드벨벳"])
}
Output:
레드벨벳 : 음파음파
트와이스 : FANCY
ITZY : ICY
{레드벨벳=음파음파, 트와이스=FANCY, ITZY=ICY, 오마이걸=번지}
{레드벨벳=음파음파, 트와이스=FANCY, 오마이걸=번지}
음파음파
'Kotlin > 기본 문법' 카테고리의 다른 글
코틀린 강좌 #27 컬렉션 함수, 두번째 이야기! (0) | 2020.12.24 |
---|---|
코틀린 강좌 #26 컬렉션 함수, 첫번째 이야기! (0) | 2020.12.24 |
코틀린 강좌 #24 Data Class 와 Enum Class (0) | 2020.12.24 |
코틀린 강좌 #23 중첩클래스와 내부클래스 (0) | 2020.12.24 |
코틀린 강좌 #22 함수의 argument를 다루는 방법과 infix 함수 (0) | 2020.12.24 |