본문 바로가기

자바 스트림8

Java - collect(), Collector, Collectors collect(), Collector, Collectors collect()는 Collector를 매개변수로 하는 스트림의 최종연산 Object collect(Collector collector) // Collector를 구현한 클래스의 객체를 매개변수로 Object collect(Supplier supplier, BiConsumer accumulator, BiConsumer combiner) Collector는 collect에서 필요한 메서드를 정의해 놓은 인터페이스 public interface Collector { // T(요소)를 A에 누적한 다음, 결과를 R로 변환해서 반환 Supplier supplier(); // StringBuilder::new 누적할 곳 BiConsumer accumula.. 2017. 3. 11.
Java - Stream 최종 연산자(reduce) reduce - 스트림의 요소를 하나씩 줄여가며 누적연산 수행 함수 인터페이스 Optional reduce(BinaryOperator accumulator) T reduce(T identity, BinaryOperator accumulator) U reduce(U identity, BiFunction accumulator, BinaryOperator combiner) 매개변수 identity - 초기값 accumulator - 이전 연산결과와 스트림의 요소에 수행할 연산 combiner - 병렬처리된 결과를 합치는데 사용할 연산(병렬 스트림) // OptionalInt reduce(IntBinaryOperator accumulator)// 연산된 결과값과 다음 값을 계속 비교한다. OptionalInt .. 2017. 3. 9.
Java - Stream 최종 연산자 메서드설명반복하면서 작업수행forEach()병렬스트림 시 순서가 보장되지 않음forEachOrdered()순서대로 실행된다.배열로 변환toArray()Object 타입의 배열로 리턴toArray(IntFunction generator)A타입의 배열로 리턴조건 검사boolean allMatch(Predicate predicate)모든 요소가 조건을 만족시키면 trueboolean anyMatch(Predicate predicate)한 요소라도 조건을 만족시키면 trueboolean noneMatch(Predicate predicate)모든 요소가 조건을 만족시키지 않으면 true조건에 일치하는 요소 찾기Optional findFirst()첫 번째 요소를 반환. 순차 스트림에 사용Optional findAn.. 2017. 3. 8.
Java - Optional 값의 존재나 부재 여부를 표현하는 컨테이너 클래스 null은 쉽게 에러를 만들 수 있으므로 만들어 졌다. 메서드 설명 boolean isPresent() 값을 포함하면 true, 없으면 false void ifPresent(Consumer block) 값이 있으면 주어진 블록을 실행, 없으면 아무것도 하지 않는 다. T get() 값이 존재하면 값을 반환하고 없으면 예외를 일으킨다. T orElse(T) 옵션 값으로 래핑된 값이 없으면 T를 반환 T orElseGet(Supplier 2017. 3. 7.