Java - Lambda & Stream (작성중)

박민수·2023년 11월 14일
0

Java

목록 보기
5/13
post-thumbnail

Lambda & Stream

해당 포스팅에서는 람다식과 스트림에 대해 정리해 보고자 한다.

람다식

람다식이란 메서드를 간단한 식 으로 표현하는 방법이다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 사라지므로, 람다식을 '익명 함수(anonymous function)'이라고도 한다.

int max(int a, int b) {
    return a > b ? a : b;
}

위 메서드를 람다식으로 표현하면 아래와 같다.

1. (int a, int b) -> a > b ? a : b
2. (int a, int b) -> {return a > b ? a : b;}
3. (a, b) -> a > b ? a : b

람다식 작성 주의사항

  1. 매개변수가 하나인 경우 () 생략가능
a -> a + a
  1. 문장이 한줄인 경우 {} 생략가능
a -> System.out.println(a)
  1. 단, 문장이 한 줄이더라도 그 문장이 return 문이라면 {} 생략이 불가능하다.
(int a, int b) -> {return a + b}

메서드 참조(method reference)

하나의 메서드만 호출하는 람다식은 메서드 참조로 간단히 할 수 있다.

  1. 클래스이름::메서드이름
  2. 참조변수::메서드이름

스트림(Stream)

Stream은 Java 8에 추가된 기능이다. 컬렉션에 저장되어 있는 요소들을 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자이다. 다양한 데이터 소스를 표준화된 방법으로 다루기 위한 것이다.

이번 포스팅에서는 간단하게 Java Stream의 filter(), map(), flatMap() 사용방법에 대해 정리해보고자 한다.

  • Stream.Filter : 스트림 요소를 순회하면서 특정 조건을 만족하는 요소로 구성된 새로운 스트림을 반환한다.
  • Stream.Map : 값을 변환해주는 람다식을 인자로 받아, 람다식을 적용해 새로운 데이터를 만들기 위해 사용된다.
  • Stream.flatMap() : ?
profile
안녕하세요 백엔드 개발자입니다.

0개의 댓글

관련 채용 정보