Kotlin 문법 group 관련 함수
Kotlin 문법 group 관련 함수
groupBy : 각 요소를 기준으로 map 생성
- 각 요소가 특정 키에 대응되는 value를 가지는 map을 생성한다.
-
groupBy 함수는 Map을 반환
- 예시
val numbers = listOf(1, 2, 3, 4, 5)
val grouped = numbers.groupBy { it % 2 }
println(grouped)
// Output: {1=[1, 3, 5], 0=[2, 4]}
partition : 컬렉션을 두 개의 그룹으로 분할
- 각 요소는 주어진 조건에 따라 true 또는 false 그룹 중 하나에 할당됩니다.
- partition 함수는 Pair를 반환
-
Pair은 pair.first와 pair.second로 접근 가능
- 예시
val numbers = listOf(1, 2, 3, 4, 5)
val (even, odd) = numbers.partition { it % 2 == 0 }
println(even)
// Output: [2, 4]
println(odd)
// Output: [1, 3, 5]
associateBy : 주어진 컬렉션의 각 요소를 특정 키에 대응되는 값으로 매핑하는 맵을 생성
- associateBy는 각 키에 대해 한 개의 요소를 매핑하는
- 반면, groupBy는 각 키에 대해 여러 개의 요소를 리스트로 매핑합니다.
-
“associateBy” 함수는 중복된 키가 있는 경우, 첫 번째로 등장한 요소를 맵에 포함시킵니다.
- 예시
val numbers = listOf("one", "two", "three", "four", "one")
val associateMap = numbers.associateBy { it.length }
println(associateMap) // {3=one, 5=three, 4=four}
val groupMap = numbers.groupBy { it.length }
println(groupMap) // {3=[one, two], 5=[three], 4=[four]}
댓글남기기