728x90
반응형

간단하게 Stream 마지막 요소 가져오기

Stream :: reduce 메서드 이용

Stream<T> stream = ...; // sequential or parallel stream
Optional<T> last = stream.reduce((first, second) -> second);

 

실제 사용 예시

Order endDate = sortOrderProductList
                .stream()
                .reduce((first, second) -> second).get()
                .getEndDate();

 


Stream :: reduce 사용법

reduce는 stream의 데이터를 하나의 요소로 만드는 작업을 수행

 

 

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
int result = numbers
              .stream()
              .reduce(0, (subtotal, element) -> subtotal + element);
assertThat(result).isEqualTo(21);
List<String> letters = Arrays.asList("a", "b", "c", "d", "e");
String result = letters
                  .stream()
                  .reduce("", (partialString, element) -> partialString + element);
assertThat(result).isEqualTo("abcde");

f

반응형
복사했습니다!