반응형
람다 표현식 (Lambda Expression) 문법
Java 8에서 새롭게 등장한 람다 표현식에 대해 알아보자.
람다 표현식 (Lambda Expression)
나중에 한 번 이상 실행할 수 있게 전달하는 코드 블록을 뜻한다.
람다 표현식 문법
(String first, String second) -> first.length() - second.length()
▶ 매개 변수가 없는 경우
// 매개변수가 없는 메서드처럼 빈 괄호를 붙여야 한다.
Runnable task = () -> { for (int i = 0 ; i < 1000 ; i++) doWork(); }
▶ 매개변수 타입을 추론할 수 있는 경우
Comparator<String> comp
= (first, second) -> first.elngth() - second.length();
// (String first, String second) 와 같다
▶ 매개변수가 1개만 있고, 타입을 추론할 수 있는 경우
// 괄호 생략 가능
EventHandler<ActionEvent> listener = event ->
System.out.println("Hi!!");
// (event) -> 또는 (ActionEvent event) -> 대신 사용 가능
람다 표현식 사용목적
람다를 사용하는 핵심 목적은 지연 실행(Deferred Exectuion) 이다. 코드를 나중에 실행하는 이유는 아래와 같다.
① 별도의 쓰레드에서 코드 실행
② 코드를 여러 번 실행
③ 알고리즘에서 적절한 시점에 코드 실행 (ex. 정렬에서의 비교 연산)
④ 버튼 클릭, 데이터 수신 등이 일어날 때 코드 실행
⑤ 필요할 때에만 코드 실행
반응형
'Back-End > Java' 카테고리의 다른 글
[Java] 향상된 for문 사용하기 (0) | 2022.05.11 |
---|---|
[Java] Optional 클래스 개념 (0) | 2022.02.28 |
[Java] 쓰레드 (Thread)와 멀티 쓰레드(Multi Thread) (1) | 2022.01.12 |
[Java] java.lang.StringBuilder 사용 방법 (String, StringBuilder, StringBuffer) (0) | 2022.01.11 |
[Java] HashMap 탐색 (keySet(), entrySet()) (0) | 2022.01.10 |
최근댓글