Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- lambda
- 차원축소
- cpp
- 코딩테스트
- numpy 기초
- 넘파이 배열
- 데이터 분석
- 코드트리
- cpp class
- 넘파이
- OOP
- 자바
- 디자인 패턴
- NumPy
- ack
- 데이터 마이닝
- 클러스터링
- 네트워크 기초
- 코테
- java
- 코딩테스트실력진단
- Machine Learning
- 파이썬
- Design Pattern
- 기계학습
- c++
- 합성곱 신경망
- python
- 머신러닝
- 넘파이 기초
Archives
- Today
- Total
준비하는 대학생
[JAVA] 람다 표현식 본문
람다 표현식이란?
람다 표현식은 간단한 함수를 익명 클래스의 인스턴스 대신 표현하는 데 사용되는 간결한 문법입니다. 람다 표현식은 인터페이스를 구현하는 방식으로 작동하며, 이 인터페이스에는 단 하나의 추상 메서드가 있어야 합니다. 이러한 인터페이스를 함수형 인터페이스라고 부릅니다.
람다 표현식의 문법
람다 표현식의 기본 문법은 다음과 같습니다.
(parameters) -> expression
또는
(parameters) -> { statements; }
- parameters: 함수의 매개변수를 정의합니다. 괄호 안에 매개변수를 정의하며, 여러 개의 매개변수가 있을 경우 쉼표로 구분합니다. 매개변수의 타입을 명시할 수도 있지만, 대부분의 경우 자바 컴파일러가 유추할 수 있습니다.
- >: 화살표 기호는 매개변수와 람다 본문을 구분합니다.
- expression 또는 { statements; }: 람다 본문입니다. 간단한 표현식이나 여러 줄의 문장을 포함할 수 있습니다. 여러 줄의 문장일 경우 중괄호를 사용합니다.
람다 표현식 예제
// 예제 1: 매개변수 없는 람다 표현식
Runnable r = () -> System.out.println("Hello, Lambda!");
// 예제 2: 매개변수가 있는 람다 표현식
Consumer<String> print = (String s) -> System.out.println(s);
// 예제 3: 매개변수 타입을 생략한 람다 표현식
BinaryOperator<Integer> add = (a, b) -> a + b;
람다 표현식의 장점
람다 표현식은 다음과 같은 장점이 있습니다.
- 간결한 코드: 기존의 익명 클래스보다 간결하게 코드를 작성할 수 있습니다.
- 함수형 프로그래밍: 람다 표현식을 이용해 순수 함수를 작성하고, 높은 수준의 추상화를 적용할 수 있습니다. 이를 통해 코드의 가독성과 유지 보수성이 향상됩니다.
람다 표현식과 forEach문 활용
Java 8에서 도입된 forEach 메서드를 활용하면 람다 표현식과 함께 간편하게 컬렉션을 순회할 수 있습니다. forEach 메서드는 Iterable 인터페이스에 정의되어 있으며, 대부분의 컬렉션 클래스들이 이를 구현하고 있습니다.
forEach문 사용 예제
import java.util.ArrayList;
import java.util.List;
public class LambdaForEachExample {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("James");
names.add("Sophia");
names.add("Jackson");
names.add("Olivia");
// 람다 표현식과 forEach문을 사용하여 리스트 출력하기
names.forEach(name -> System.out.println(name));
// 메서드 참조를 사용하여 리스트 출력하기 (더 간결한 방법)
names.forEach(System.out::println);
}
}
위의 예제에서는 먼저 ArrayList를 생성하고 여러 이름을 추가한 후, forEach 메서드와 람다 표현식을 사용하여 리스트의 모든 요소를 출력합니다. 또한, 메서드 참조를 사용하여 더 간결한 방법으로 리스트를 출력하는 방법도 보여줍니다.
이렇게 람다 표현식과 forEach 메서드를 함께 사용하면 코드를 더 간결하고 가독성이 좋게 작성할 수 있습니다. 이를 통해 자바 프로그래밍의 효율성을 높일 수 있습니다.
'Programming > JAVA' 카테고리의 다른 글
[JAVA] enum (열거형) (0) | 2023.04.15 |
---|
Comments