스트림 함수는 중간연산(체이닝 가능)과 결과연산이 있다.

 

중간연산

filter

  • predicate

map

  • function

distinct

  • 메쏘드 파라미터 없음
  • 스트림에서 중복 제거시킴

최종연산

collect

sum

  • 인티저인 경우에만

foreach

count

reduce 

  • Element를 하나하나 줄여나가서 하나만 남겨버림
  • 파라미터는 (초기값, 함수((i1, i2) -> retun))
    • 파라미터(초기값, (이전값, 스트림에서 받은 값) -> 연산해서 리턴)
    • 초기값은 이전값이 없는경우인 최초 1회만 사용
    • Ex)
      • Students.stream().map(student -> stduent.getEnglishScore()).reduce(0, (score1, score2) -> score1 + score2));
  • Integer가 아닌 타입의 리스트에서 멤버변수들의 합을 구할 때

 

파라미터가 2개인 경우 Arity가 2라고 하며, Arity가 2인경우 Binary 혹은 2-ary라고함

+ Recent posts