Java
람다 표현식 간단 정리
까오기
2021. 5. 7. 15:46
Java Lambda 표현식
Lambda 표현식은 Java 8에서부터 추가되었습니다.
람다 식은 매개 변수를 받아 값을 반환하는 짧은 코드 블록으로 메서드와 비슷하지만 이름이 필요하지 않으며(익명함수) 메서드 본문에서 바로 구현할 수 있습니다.
여기서는 람다 표현식에 대한 Syntax만 정리하였습니다.
1. 인자가 없는 경우
1-1. 하나의 문장 처리
() -> expression body
1-1. 여러 문장 처리
() -> { expression body }
2. 파라미터(전달 인자)가 있는 경우
2-1. 하나의 문장 처리
(parameters) -> expression body
// parameter가 하나인 경우
parameter -> expression body
1-1. 여러 문장 처리
(parameters) -> { expression body }
// parameter가 하나인 경우
parameter -> { expression body }
예제
import java.util.Arrays;
import java.util.function.Consumer;
import java.util.stream.Stream;
public class TestLamda {
public static void main(String[] args) {
// test data
List<Integer> numbers = Arrays.asList(1,5,4,2,3);
// 레거시 형태 출력
for(Integer i : numbers) System.out.println(i);
// stream 이용한 출력
numbers.forEach(System.out::println);
// 인자가 하나인 형태
numbers.forEach(n -> System.out.println(n));
// 인자가 하나인 형태
numbers.forEach((n) -> { System.out.println(n); } );
// stream에서 함수 형태 처리
Consumer<Integer> method = n -> System.out.println(n);
numbers.forEach(method);
}
}