최대 1 분 소요

Stream 과 Lambda

Stream

자바 8에서 추가된 스트림은 ‘컬렉션, 배열 등에 저장된 요소들을 하나씩 참조하면서 코드를 실행할 수 있는 기능입니다.

  • 스트림으로 처리하는 데이터는 오직 한번만 처리합니다.

  • 0개 이상의 중개 오퍼레이션과 1개의 종료 오퍼레이션이 존재
  • 중개 오퍼레이션이란 Stream 을 리턴하고 filter 나 map limit 등이 있습니다.
  • 종료 오퍼레이션은 Stream을 리턴하지 않고 다른 값을 반환하여 Stream을 종료합니다.
    • 예를 들어 collect, allMatch, count, forEach 등이 있습니다.

Lambda

람다 함수는 함수형 프로그래밍 언어에서 사용되는 개념으로 익명 함수라고도 한다 Java 8 부터 지원되며, 람다 표현식을 사용하여 자바에서도 함수형 프로그래밍이 가능하게 되었다.

특징

  • Java의 람다식이 함수형 인터페이스를 반환햔다.
  • 함수형 인터페이스란 추상 메소드를 딱 하나만 가지고 있는 인터페이스이다.

(자바가 제공하는 함수형 인터페이스)

Function : T 타입을 받아서 R 타입을 리턴하는 함수 인터페이스

Consumer : T 타입을 받아서 아무값도 리턴하지 않는 함수 인터페이스

Supplier : T 타입의 값을 제공하는 함수 인터페이스

Predicate : T 타입을 받아서 boolean을 리턴하는 함수 인터페이스

태그:

카테고리:

업데이트: