728x90
반응형
https://winterflower.tistory.com/399
컬렉션 1탄에서는 컬렉션 중 List에 대해 알아보았다. 이번 게시물에서는 나머지 컬렉션인 Set과 Map을 알아보자.
Set
: 리스트와 달리, 순서가 정렬되지 않으며 중복이 허용되지 않는 컬렉션
인덱스로 위치를 지정하여 객체를 참조할 수는 없으며 contains로 객체가 set 안에 존재하는지를 확인하는 식으로만 확인한다.
sampleSet.contains(”디모”) → sampleSet에 디모가 있는지 알려줘
Set 종류
- Set : 생성 시에 넣은 객체를 대체, 추가, 삭제 할 수 없음
- MutableSet : 생성 시에 넣은 객체를 대체, 추가, 삭제가 가능
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("귤"))
}
// 출력 :
// 귤
// 바나나
// 키위
// [귤, 바나나, 키위, 자몽]
// [귤, 키위, 자몽]
// true
Map
: 객체를 넣을 때, 그 객체를 찾아낼 수 있는 Key를 쌍으로 넣어주는 컬렉션
key와 value는 내부적으로 MutableMap.MutableEntry의 객체로 담겨져 있으며, 이런 구조 때문에 객체의 위치가 아닌 고유한 key를 통해 객체를 참조한다.
sampleMap[”디모”] → 디모라는 key에 연결된 객체를 알려줘
같은 key에 다른 객체를 넣으면 기존의 객체가 대체되므로 주의!
Map 종류
- Map<K, out V> : 생성 시에 넣은 객체를 대체, 추가, 삭제 할 수 없음
- MutableMap<K, V> : 생성 시에 넣은 객체를 대체, 추가, 삭제가 가능
MutableMap에서는 요소의 추가, 삭제 가능
- 요소의 추가 : put(키, 값)
- 삭제 : remove(키)
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["레드벨벳"])
}
// 출력 :
// 레드벨벳 : 음파음파
// 트와이스 : FANCY
// ITZY : ICY
// {레드벨벳=음파음파, 트와이스=FANCY, ITZY=ICY, 오마이걸=번지}
// {레드벨벳=음파음파, 트와이스=FANCY, 오마이걸=번지}
// 음파음파
728x90
반응형
'Language > Kotlin' 카테고리의 다른 글
[Kotlin] 컬렉션 함수 (2) (0) | 2023.09.24 |
---|---|
[Kotlin] 컬렉션 함수 (1) (0) | 2023.09.22 |
[Kotlin] Data Class와 Enum Class (0) | 2023.09.21 |
[Kotlin] 중첩클래스와 내부클래스 (0) | 2023.09.20 |
[Kotlin] 함수의 다양한 기능 (0) | 2023.09.20 |