본문 바로가기
정리/Java

Java - Stream 최종 연산자

by 난파선 2017. 3. 8.


메서드설명
반복하면서 작업수행
forEach()병렬스트림 시 순서가 보장되지 않음
forEachOrdered()순서대로 실행된다.
배열로 변환
toArray()Object 타입의 배열로 리턴
toArray(IntFunction<A[]> generator)A타입의 배열로 리턴
조건 검사
boolean allMatch(Predicate predicate)모든 요소가 조건을 만족시키면 true
boolean anyMatch(Predicate predicate)한 요소라도 조건을 만족시키면 true
boolean noneMatch(Predicate predicate)모든 요소가 조건을 만족시키지 않으면 true
조건에 일치하는 요소 찾기
Optional findFirst()첫 번째 요소를 반환. 순차 스트림에 사용
Optional findAny()아무거나 하나를 반환. 병렬 스트림에 사용
통계 Stream<T>
long count()갯수
Optional<T> max(Comparator<? super T> comparator)최대값
Optional<T> min(Comparator<? super T> comparator)최소값
숫자형 스트림 통계 IntStream
long count()갯수
Int sum()합계
OptionalDouble average()평균
OptionalInt max()최대값
OptionalInt min()

최소값

반복하면서 작업수행

Stream<Integer> i = Stream.of(1,2,3,4,5);
//i.forEach(System.out::print);  //=>12345
i.parallel().forEach(System.out::print);  //=>35241

배열로 변환

Student[] stuNames = studentStream.toArray(Student[]::new); // 성공
Student[] stuNames = studentStream.toArray(); // 에러.
Object[] stuNames = studentStream.toArray(); // 성공

조건 검사

boolean hasFailedStu = stuStream.anyMatch(s-> s.getScore()<=100);  //=> 100점보다 낮을 경우 true 리턴

조건에 맞는 요소 반환

Optional result = stuStream.filter(s-> s.getScore() <= 100).findFirst(); //=> 조건에 맞는 요소 첫번째 리턴
Optional result = parallelStream.filter(s-> s.getScore() <= 100).findAny(); //=> 조건에 맞는 요소 아무거나 리턴


'정리 > Java' 카테고리의 다른 글

Java - 메서드 레퍼런스(method reference)  (0) 2017.03.10
Java - Stream 최종 연산자(reduce)  (0) 2017.03.09
Java - Optional  (0) 2017.03.07
Java - Stream 중간 연산자  (0) 2017.03.06
Java - 스트림(Stream) 생성  (0) 2017.03.04

댓글