람다 표현식

Dev.Dana·2024년 10월 19일

TIL

목록 보기
1/6
post-thumbnail

1. 람다 표현식이란?

  • 람다 표현식은 익명함수를 간단하게 표현하는 방법
  • java8에 도입
  • 기존에 익명클래스로 구현하던 것을 훨씬 간단하게 표현 가능
(매개변수) -> { 실행 코드 }

예시 1 : 기본형태

(int x, int y) -> { return x+y; }
  • (int x, int y) 는 함수의 매개변수, { return x + y; } 는 함수의 실행코드

2. 람다 표현식의 축약

  • 불필요한 부분은 생략가능

예시 2 : 반환형과 return 생략가능

(x, y) -> x+y
  • 매개변수 타입 생략가능, 컴파일러가 타입을 추론한다.
  • 한 줄짜리 함수일 때, 중괄호와 return 키워드 생략가능

3. 실제로 람다를 사용할 때

  • 람다는 주로 인터페이스 구현할 때 사용됨
    • 대표적으로 Comparator와 같은 인터페이스를 구현할 때 유용

예시 3 : Comparator 구현

//익명 클래스 사용할 때
Collections.sort(list, new Comparator<Integer>() {
	@Override
	public int compare(Integer a, Integer b) {
		return Integer.compare(a, b);
	}
});
//람다 표현식일 때
Collections.sort(list, (a, b) -> Integer.compare(a, b));
  • (a, b) : 두 매개변수를 받아서,
  • Integer.compare(a, b) : 그 둘을 비교한 결과를 반환

4. 연습 예시

  • Q. 숫자 리스트를 정렬하시오
List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9);
Collections.sort(numbers, (a, b) -> a - b);
System.out.println(numbers);  // 출력: [1, 1, 3, 4, 5, 9]
profile
어제의 나보단 나은 오늘의 내가 되기를

0개의 댓글