람다식이란 '식별자 없이 실행 가능한 함수' 라고 말할 수 있다. 함수의 이름을 따로 정의하지 않아도 곧바로 함수처럼 사용할 수 있다.
람다를 사용하여서 만든 익명 함수는 재사용이 불가능하며, 람다만을 사용할 경우 비슷한 메소드를 중복되게 생성할 가능성이 있다.
람다식의 형식
[기존의 메소드 형식]
반환타입 메소드이름(매개변수 선언) {
수행 코드 블록
}
[람다식의 형식]
반환타입 메소드이름(매개변수 선언) -> {
수행 코드 블록
}
람다식 예제
import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
ArrayList<String> strList = new ArrayList<>(Arrays.asList("korea", "japan", "china", "france", "england"));
Stream<String> stream = strList.stream();
stream.map(str -> str.toUpperCase()).forEach(it -> System.out.println(it));
}
}
소문자가 대문자로 바뀌어 출력된다.