GroupBy
-
18강. 코틀린에서 컬렉션을 함수형으로 다루는 방법BackEnd/Kotlin 2024. 4. 14. 08:00
filter와 map 다양한 컬렉션 처리 기능 groupBy / associateBy flatten / flatMap filter와 map fun main() { val fruits = listOf( Fruit("사과", 1_000), Fruit("사과", 1_200), Fruit("사과", 1_200), Fruit("사과", 1_500), Fruit("바나나", 3_000), Fruit("바나나", 3_200), Fruit("바나나", 2_500), Fruit("수박", 10_000), ) val apples = fruits.filter { fruit -> fruit.name == "사과" } // filter 에서 인덱스가 필요하다면 filterIndexed 사용합니다. val apples2 = fr..
-
Flux Sequence 분할을 위한 OperatorSpring Reactive Web Application/Project Reactor 2023. 8. 9. 05:00
window window(int maxSize) Operator는 Upstream에서 emit 되는 첫 번째 데이터부터 maxSize 숫자만큼의 데이터를 포함하는 새로운 Flux로 분할합니다. Reactor에서는 이렇게 분할된 Flux를 윈도우(Window)라고 합니다. 마지막 윈도우에 포함된 데이터의 개수는 maxSize보다 더 적거나 같습니다. 다음은 window() Operator를 이용해서 2021년도 분기별 도서 매출액을 구하는 예제 코드입니다. 원본 데이터 소스는 2021년도 월별 도서 매출액 데이터이며, 이 데이터를 window() Operator로 3개씩 분할한 후 MathFlux.sumInt() Operator를 이용해 3개씩 분할된 데이터의 합계를 구합니다. import chapter1..
-
변환 연산자BackEnd/RxJava 2023. 7. 7. 07:00
map 원본 Observable에서 통지하는 데이터를 원하는 값으로 변환 후 통지합니다. 변환 전, 후 데이터 타입은 달라도 상관 없습니다. null을 반환하면 NullPointException이 발생하므로 null이 아닌 데이터 하나를 반드시 반환해야 합니다. package com.itvillage.chapter05.chapter0503; import com.itvillage.utils.LogType; import com.itvillage.utils.Logger; import io.reactivex.Observable; import java.util.Arrays; import java.util.List; /** * Observable이 통지한 항목에 함수를 적용하여 통지된 값을 변환시킨다. */ pub..