람다(lambda)
람다와 클로저
람다는 익명 함수의 다른 표현이다. 즉, 함수는 함수인데 이름이 없는 경우를 의미한다.
Collection의 모든 값을 출력
// nextstep.fp.Lambda의 printAllOld method
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
for (int number : numbers) {
System.out.println(number);
}
람다가 없던 시절
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
numbers.forEach(new Consumer<Integer>() {
public void accept(Integer value) {
System.out.println(value);
}
});
람다를 활용하면…
// nextstep.fp.Lambda의 printAllLambda method
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
numbers.forEach((Integer value) -> System.out.println(value));
numbers.forEach(value -> System.out.println(value)); // Type 추론이 가능해 Type 생략 가능
numbers.forEach(System.out::println); // :: 연산자 활용 가능
= numbers.forEach(x -> System.out.println(x));
'강의 > TDD, Clean Code with Java 12기' 카테고리의 다른 글
람다 실습 2 - 람다를 활용해 중복 제거 (0) | 2021.08.25 |
---|---|
람다 실습 1 - 익명 클래스를 람다로 전환 (0) | 2021.08.25 |
[로또] step4 - 로또(수동) - 29일차 (0) | 2021.08.17 |
[로또] step4 - 로또(수동) - 29일차 (step3 피드백 및 피드백 반영) (0) | 2021.08.17 |
[로또] step3 - 로또(2등) - 27일차 (피드백 및 피드백 반영) (0) | 2021.08.15 |