자바의 정석 - 스트림 (5)

송용준·2023년 6월 14일

중간연산 : n번, Stream을 반환 - limit(), skip(), filter(), distinct(), map(), flatMap(), peek()
최종연산 : 1번, Stream닫힘. 스트림 요소 소모 - forEach(), allMatch(), anyMatch(), noneMatch(), reduce(), findFirst(), findAny(), reduce(), collect()

스트림의 최종연산 - forEach( )

  • 스트림의 모든 요소에 지정된 작업을 수행 - forEach(), forEachOrdered()

    forEachOrdered 가 성능은 떨어지지만 순서를 보장해줌

  • 조건 검사 - allMatch(), anyMatch(), noneMatch()

  • 조건에 일치하는 요소 찾기 - findFirst(), findAny()

스트림의 최종연산 - reduce( )

  • 스트림의 요소를 하나씩 줄여가며 누적연산 수행 - reduce()

collect()와 Collectors

  • collect()는 Collector를 매개변수로 하는 스트림의 최종연산

  • Collecotr는 수집(collect)에 필요한 메서드를 정의해 놓은 인터페이스

  • Collectors클래스는 다양한 기능의 컬렉터(Collector를 구현한 클래스)를 제공

    잘 가져다 쓰면 됨

collect() : 최종연산
Collector : 인터페이스
Collecotrs : 클래스. Collecotr를 구현

스트림을 컬렉션, 배열로 변환

  • 스트림을 컬렉션으로 변환 - toList(), toSet(), toMap(), toCollection()

  • 스트림을 배열로 변환 - toArray()

스트림의 통계 - counting(), summingInt()

  • 스트림의 통계정보 제공 - counting(), summingInt(), maxBy(), minBy() ..

스트림을 리듀싱 - reducing()

  • 스트림을 리듀싱 - reducing()

  • 문자열 스트림의 요소를 모두 연결 - joining()

스트림의 그룹화와 분할

  • partitioningBy() 는 스트림을 2분할 한다.

  • groupingBy()는 스트림을 n분할 한다.

    값들을 그룹핑해서 분류를 할 수 있다.

스트림의 변환 (1/2)

스트림의 변환 (2/2


외울 필요는 없고 필요한 부분만 찾아서 사용

profile
용용

0개의 댓글