[Kotlin] Collection - Fold, Reduce
참고 : https://kotlinlang.org/docs/collection-aggregate.html#fold-and-reduce Fold와 Reduce는 컬렉션 요소들의 연산결과를 누적해서 다음 연산에서 사용한다. 차이점은 Reduce는 처음 연산 때 첫번째, 두번째 element를 가져와서 연산을 하는 반면, Fold는 init 인자와 첫번째 element를 가져와서 연산을 한다. val list = listOf(1, 2, 3, 4, 5) list.reduce { prev, ele -> println("$prev, $ele") (prev + ele) } // 1, 2 // 3, 3 // 6, 4 // 10, 5 list.fold(0) { prev, ele -> println("$prev, $ele..
2022. 1. 16.
[Kotlin] Collection - associateBy, associateWith, associate
AssociateBy collection 요소에 파라미터 함수에서 반환된 값을 키 값, 요소를 value로 하는 map을 반환한다. data class Member( val no: Int, val name: String ) fun main() { val members = listOf( Member(no=10, name="A"), Member(no=20, name="B"), Member(no=30, name="C"), Member(no=40, name="D"), Member(no=50, name="E"), ) val associateMembers = members.associateBy{it.no} println(""" ${associateMembers::class.simpleName} keys : ${as..
2021. 12. 30.
[Kotlin] Collection - all, any, count, find
All collection 의 원소들이 모두 조건을 만족하는지 println(""" 모든 원소가 조건을 만족하는지 홀수인지 [1, 3, 5, 7] : ${listOf(1, 3, 5, 7).all{ it%2 == 1 }} 홀수인지 [1, 3, 5, 7, 8] : ${listOf(1, 3, 5, 7, 8).all{ it%2 == 1 }} """.trimIndent()) 모든 원소가 조건을 만족하는지 홀수인지 [1, 3, 5, 7] : true 홀수인지 [1, 3, 5, 7, 8] : false Any collection 안에 조건을 만족하는 원소가 존재하는지 println(""" 홀수가 있는지 [1, 3, 5, 6] : ${listOf(1, 3, 5, 6).any{ it%2 == 0 }} [1, 3, 5] ..
2021. 12. 29.