728x90
반응형
- 람다를 사용해 List / MutableList 초기화
fun main() {
val list1 = List(10){ it } // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
val list2 = List(10){ 0 } // [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
val list3 = List(10){ 'a' + it } // [a, b, c, d, e, f, g, h, i, j]
val list4 = List(10){ list3[it % 3] } // [a, b, c, a, b, c, a]
val mutableList1 = MutableList(5){ 10 * (it+1) } // [10, 20, 30, 40, 50]
}
- 다양한 컬렉션 함수
- any() - 원소 중 어느 하나라도 해당되는 경우 true 반환
- all() - 모든 원소가 술어와 일치하면 true
- none() - 술어와 일치하는 원소가 하나도 없으면 true
- find() - 술어와 일치하는 첫 번째 원소를 반환한다. 원소가 없으면 예외를 던진다.
- firstOrNull() - 술어와 일치하는 첫 번째 원소를 반환한다. 원소가 없으면 null 반환
- lastOrNull - 술어와 일치하는 마지막 원소를 반환한다. 없으면 null 반환
- count() - 술어와 일치하는 원소의 개수를 반환한다.
- filter() - 해당하는 모든 원소가 들어있는 새 리스트를 만든다.
- filterNot() 은 해당하지 않는 모든 원소가 들어있는 새 리스트를 만든다.
- filterNotNull()은 null을 제외한 원소들로 이루어진 새 리스트를 만든다.
- partition()은 동시에 양쪽 그룹을 만들어낸다.
- partition()은 List가 들어있는 Pair 객체를 만든다.
fun main() {
val list = listOf(-3, -1, 5, 7, 10)
val isPositive = { i: Int -> i > 0 }
list.filter(isPositive) // [5, 7, 10]
list.filterNot(isPositive) // [-3, -1]
val (pos, neg) = list.partition { it > 0 }
pos // [5, 7, 10]
neg // [-3, -1]
}
728x90
반응형
'코틀린' 카테고리의 다른 글
코틀린 null 처리 방법 - Elvis 연산자 (0) | 2023.11.14 |
---|---|
아토믹 코틀린 - 람다 (0) | 2023.10.30 |
아토믹 코틀린 33 - when (0) | 2023.10.15 |
아토믹 코틀린 32 - 오버로딩 (0) | 2023.10.15 |
아토믹 코틀린 31 - 이름 붙은 인자와 디폴트 인자 (0) | 2023.10.15 |