반응형
자바8의 스트림 API 특징
선언형: 더 간결하고 가독성이 좋아진다.
조립할수있음: 유연성이 좋아진다.
병렬화: 성능이 좋아진다.
스트림이란 '데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소'로 정의할 수 있다.
[딱 한번만 탐색할 수 있다]
스트림은 단 한번만 소비할 수 있다.
스트림 연산
java.util.stream.Stream 인터페이스는 많은 연산을 정의
filter, map, limit는 서로 연결되어 파이프라인을 형성한다. - 중간연산
collect로 파이프라인을 실행한 다음에 닫는다. - 최종연산
중간연산
filter나 sorted 같은 중간 연산은 다른 스트림을 반환
중간 연산의 중요한 특징은 단말 연산을 스트림 파이프라인에 실행하기 전까지는 아무 연산도 수행하지 않는다는 것이다.
즉 lazy하다는 것이다
최종연산
보통 최종 연산에 의해 List, Integer, void 등 스트림 이외의 결과가 반환.
forEach, count, collect처럼 스트림 파이프라인을 처리해서 스트림이 아닌 결과를 반환하는 연산을 최종 연산
반응형
'Java > Java 8' 카테고리의 다른 글
자바 CompletableFuture 를 사용하여 비동기 프로그래밍 구현 (0) | 2024.06.07 |
---|---|
자바 스트림의 중간 연산과 최종 연산 종류 (0) | 2024.06.07 |
스트림 API와 람다 표현식 소개 (0) | 2024.06.07 |
Optional in java 8 example 예제 (0) | 2023.08.30 |
[JAVA8] LocalDate, LocalDateTime (0) | 2020.12.18 |