본문 바로가기
Programming/Java, Spring

[Java 기초문법] 자바 람다식 lambda

by Renechoi 2022. 10. 21.

[Java 기초문법] by Programmers school 자바 입문

 


람다는 다른 말로 익명 메소드라고 한다. 

 

Runnable 인터페이스 같은 경우 run()메소드를 하나만 가지고 있어서 람다 표현식으로 바꿔 표현할 수 있다. 

 

이와 같이 표현된 코드를 람다식으로 간단하게 할 수 있다. 

 


public class LambdaExample {

    public static void main(String[] args) {
        new Thread(new Runnable(){public void run(){
            for(int i = 0; i < 10; i++){
                System.out.println("hello");
            }
        }}).start();
    }
}

 

 

람다의 기본 표현 법은 다음과 같다.

( 매개 변수 목록 ) -> { 실행문 } 

 


public class LambdaExample {

    public static void main(String[] args) {
        new Thread(()->{
            for(int i = 0; i < 10; i++){
                System.out.println("hello");
            }
        }).start();
    }
}

 


 

두개 숫자를 비교하는 인터페이스를 만들고 람다식으로 표현해보자. 

 

 

public interface Compare {
    public int compareTo(int value1, int value2);
}

 

 

두 변수를 받아서 비교하는 인터페이스이다. 

 

인터페이스를 받는 메소드에서 compare 인터페이스를 받고 실행시킨다. 

 

public static void exec(Compare compare){
    int k = 10;
    int m = 20;
    int value = compare.compareTo(k, m);
    System.out.println(value);
}

 

 

메인 메소드에서 이 메소드의 코드를 실해한다. 

 

이때 람다식을 표현해보자. 

 

매개 변수 i,j를 넘겨주고 -> 

그리고 중괄호를 열어 실행 내용 = 리턴을 써준다. 

 

 


public class LambdaExample {
    public static void exec(Compare compare){
        int k = 10;
        int m = 20;
        int value = compare.compareTo(k, m);
        System.out.println(value);
    }
    public static void main(String[] args) {
        exec((i, j)->{
            return i - j;
        }); }

}

 

리턴 -10

 

 

 

 

반응형