728x90
반응형
Lambda
람다 함수(또는 람다 표현식)는 익명 함수 라고도 불리며 메소드를 하나의 식(코드)처럼 표현할 수 있다.
Lambda식 기본 문법
(매개변수) -> { 실행할 코드 }
람다 예제
1. Java 기본 문법
interface MyFunction {
int add(int a, int b);
}
public class Main {
public static void main(String[] args) {
MyFunction func = new MyFunction() { // 익명 클래스 사용
@Override
public int add(int a, int b) {
return a + b;
}
};
System.out.println(func.add(5, 3)); // 결과: 8
}
}
2. 람다식 사용
interface MyFunction {
int add(int a, int b);
}
public class Main {
public static void main(String[] args) {
MyFunction func = (a, b) -> a + b; // 람다 표현식 사용
System.out.println(func.add(5, 3)); // 결과: 8
}
}
람다 표현식의 특징
1. 코드를 간결하게 작성 가능
- new 키워드 없이 짧은 코드로 함수 정의 가능.
2. 인터페이스가 1개의 추상 메서드만 가져야 사용 가능 (함수형 인터페이스)
- @FunctionalInterface를 사용해 함수형 인터페이스임을 명확히 할 수 있음.
3. 불필요한 코드 제거 (익명 클래스 X)
- 람다는 기존 익명 클래스를 대체하여 코드가 깔끔해짐.
람다 표현식 활용 예제
1. 리스트 정렬
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Apple", "Orange", "Banana", "Grapes");
// 람다를 이용한 정렬
Collections.sort(names, (a, b) -> a.compareTo(b));
System.out.println(names);
}
}
2. forEach() 사용
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Apple", "Orange", "Banana");
// 람다를 이용한 반복문
names.forEach(name -> System.out.println(name));
}
}
728x90
반응형
'개발 > Java' 카테고리의 다른 글
| [Java] ExecutorService 정리 (1) | 2025.05.07 |
|---|---|
| [Java] 싱글톤 패턴 정리. (0) | 2025.03.10 |