Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 코틀린 람다함수
- 해시
- 코틀린 내부 클래스
- 코틀린 data class
- kotlin collection
- kotlin addview
- collection function
- 코틀린 컬렉션함수
- 코틀린 lateinit
- lateinit
- kakao blind
- 코틀린 중첩클래스
- 컬렉션함수
- kotlin recyclerview
- 컬렉션 함수
- programmers # 프로그래머스 #큰수비교 #cmp_to_key()
- 객체의 동일성
- Kotlin Generic
- 코틀린 제너릭
- 카카오 순위검색
- kotlin listview
- class
- add view
- Kotlin
- 프로그래머스
- 코틀린 문자열
- 내용의동일성
- isNullOrBlank
- 프로그래머스 #탐욕법 #큰수만들기 #join #python
- 코틀린
Archives
- Today
- Total
엔지니어 규의 IT 프로그래밍 다이어리
[Kotlin] 25. Set 과 Map 본문
728x90
우리는 컬렉션 클래스 중 가장 단순한 형태인 List를 앞에서 배웠다. 이번에는 Set과 Map 을 알아보자.
Set
Set은 List와 달리 순서가 정렬되지 않으며 중복이 허용되지 않는 컬렉션이다.
따라서 set 은 인덱스로 위치를지정하여 객체를 참조할 수 없으며, contains 로 객체가 set 안에 존재하는지 확인하는 방법이 있다.
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("귤")) //true
}
위 코드를 통해 객체의 추가, 삭제, 확인이 잘 실행되었음을 알 수 있다.
Map
map은 객체를 넣을때 그 객체를 찾아낼 수 있는 key를 쌍으로 넣어주는 컬렉션이다.
key 와 value 즉, 객체는 내부적으로는 MutableMap.MutableEntry의 객체로 담겨져 있으며, 이런 구조때문에
객체의 위치가 아닌 고유한 키를 통해 객체를 참조하는 특징을 가지고 있다.
또한 같은 key에 다른 객체를 넣으면 기존의 객체가 대체된다.
Map 역시 Map<K, out V>. , MutableMap<K,V> 와 같이 추가, 삭제 가 가능한 MutableMap이 별도로 존재하며,
요소의 추가는 put(key,value) 삭제는 Remove(key) 로 하게 된다.
fun main(){
val a = mutableMapOf(
"레드벨벳" to "음파음파",
"트와이스" to "Fancy",
"Itzy" to "Icy")
for( i in a)
{
println("${i.key} : ${i.value}")
}
/*
레드벨벳 : 음파음파
트와이스 : Fancy
Itzy : Icy
*/
a.put("오마이걸","번지")
println(a) //{레드벨벳=음파음파, 트와이스=Fancy, Itzy=Icy, 오마이걸=번지}
a.remove("Itzy")
println(a) // {레드벨벳=음파음파, 트와이스=Fancy, 오마이걸=번지}
println(a["레드벨벳"]) //음파음파
}
위 코드를 실행해 보면 객체의 추가,삭제,참조가 잘 실행된것을 볼 수 있다.
728x90
'프로그래밍 언어 > 코틀린' 카테고리의 다른 글
[Kotlin] 27. 컬렉션 함수(2) (0) | 2022.06.02 |
---|---|
[Kotlin] 26. 컬렉션 함수(1) (0) | 2022.06.02 |
[Kotlin]24. Data class 와 Enum Class (0) | 2022.06.01 |
[Kotlin] 23. 중첩 클래스와 내부클래스 (1) | 2022.05.31 |
[Kotlin] 22. 함수의 argument를 다루는 방법과 infix 함수 (0) | 2022.05.31 |
Comments