메서드 | 설명 |
반복하면서 작업수행 | |
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 |
댓글