Java Lambda

Socra·2025년 1월 24일
0

람다 표현식

람다식은 익명 함수로, 코드를 더 간결하고 읽기 쉽게 작성할 수 있도록 도와준다. Java 8부터 도입되었으며, 함수형 프로그래밍 스타일을 지원한다.

기본 문법

(매개변수) -> { 실행 코드 }
  • 매개변수: 람다가 처리할 입력 값을 정의
  • → : 람다의 본체(실행 코드)와 매개변수를 구분
  • 실행 코드: 람다가 실행할 코드를 정의
  1. 람다 표현식 예
(int x, int y) -> x + y;
  1. 매개변수가 하나일 때: 타입 및 괄호 생략 가능
x -> x * 2;
  1. 실행 코드가 여러 줄 일 때: 중괄호, return 사용
(int x, int y) -> {
		int sum = x + y;
		return sum;
}

함수형 인터페이스

람다식은 함수형 인터페이스(하나의 추상 메서드를 가지는 인터페이스)를 구현하는데 사용된다.

@FunctionalInterface
interface ExampleFunction {
		int apply(int x, int y);
}
ExampleFunction add = (a, b) -> a + b;
System.out.println(add.apply(5, 3)); // 8

인터페이스 추상 메서드의 시그니처(매개변수, 반환 타입)을 일치하게 사용하면 된다.

예시

List.sort()

default void sort(Comparator<? super E> c)

parameter: Comparator<? super E> c

  • 정렬 순서를 정의하는 비교자, E는 리스트의 요소 타입

Description: 리스트의 요소를 Comparator를 기준으로 정렬

Comparator 인터페이스

@FunctionalInterface // 인터페이스가 함수형 인터페이스임을 보장, 하나의 추상 메서드만 가지도록 제한 / 두 개 이상의 추상 메서드가 있으면 컴파일 오류가 발생
public interface Comparator<T> {
		int compare(T o1, T o2); // 유일한 추상 메서드

}

---

names.sort((a, b) -> a.compareTo(b));

0개의 댓글

관련 채용 정보