Collections Types
코틀린에는 기본적으로 3개의 Collection 타입이 존재한다.
- List : 항상 순서를 지키는 Collection, 인덱스를 이용해 데이터 추가, 수정, 삭제가 가능하다.
- Set : 집합, 동일한 데이터가 존재할 수 없는 집단인 Collection으로 순서는 보장되지 않는다.
- Map : Key, Value로 이루어진 타입으로 Key는 중복될 수 없다.
val numbers = mutableListOf("one", "two", "three", "four")
: mutableListOf() - 안에 있는 인자가 그대로 포함된 리스트형 객체를 반환하는 함수
코틀린은 mutable과 immutable로 나누어서 지원하고 있다. mutable로 선언된 Collection은 데이터 추가나 수정이 가능하지만 immutable로 선언된 Collection은 데이터의 수정, 추가, 삭제가 불가능하다.
val numbers = mutableListOf("one", "two", "three", "four")
numbers.add("five") // numbers에 "five"가 추가된다.
Constructing Collections
: 함수를 호출하는 방식으로 Collection을 만들 수 있다.
- listOf<T>()
- setOf<T>()
val numbersSet = setOf("one", "two", "three", "four")
// 데이터 중복 불가능. 데이터 추가나 삭제가 불가능.
- mapOf()
val numbersMap = mapOf("key1" to 1, "key2" to 2, "key3" to 1)
- mutableListOf<T>()
- mutableSetOf<T>()
val emptySet = mutableSetOf<String>()
// 데이터의 추가나 삭제가 가능, 아직은 데이터가 없다.
- mutableMapOf()
val numberMap = mutableMapOf<String, String>().apply {this["one"] = "1"; this["two"] = "2" }
- emptyList<T>()
val empty = emptyList<String>()
- emptySet<T>()
- emptyMap()
Collection operations
: Collection 자체에 작업을 걸 수 있는 함수
- isEmpty()
- get() : List의 요소에 대한 인데스 액세스
- Transformations : Map을 List로 바꾸거나, List를 Set으로 바꾸는 등
- Filtering : 조건을 걸어서 해당 조건을 만족하는 요소들만 반환하도록
- plus / minus : List와 List를 더했을 때 더해진 결과가 나오게 하거나 뺐을 때 뺀 결과가 나오도록
- Grouping
- Ordering
- etc
Collections 참고 사이트
반응형
'Programando > Android' 카테고리의 다른 글
[Android/Kotlin] SharePreferences, Thread_(4) (0) | 2021.06.13 |
---|---|
[Android/Kotlin] Apply, TextView_(3) (0) | 2021.06.12 |
[Android/Kotlin] findViewById, Intent_(1) (0) | 2021.06.10 |
[Android/Kotlin] 문법_(0) (0) | 2021.06.08 |
[Android/Java] 안드로이드 크롤링 (0) | 2021.04.13 |