자바 공부/[자바] 기본 공부

[자바공부 4일차] 람다식

햅2024 2024. 11. 11. 20:29

 

public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Thread(new Runnable() {
			public void run()
			{
				for(int i=0;i<10;i++) {
					System.out.println("Hello");
				}
			}			
		}).start();
	}

다음과 같은 함수의

new Runnable(){
	public void run(){
    }
}

의 부분을 람다식 () -> {} 로 치환할 수 있다.

 

람다식으로 치환할 경우 

public static void main(String[] args) {
		// TODO Auto-generated method stub
		new Thread(()-> {
			for(int i=0;i<10;i++) {
				System.out.println("Hello");
			}
		}).start();
	}

다음과 같은 함수가 된다.

 

  • 람다식 문법

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

 

package JavaUtil.exam;

public interface Compare {
	public int compareTo(int a, int b);
}

 

에서 compareTo 라는 함수를 람다식으로 구현해보자

exec((i, j) -> {
			return Math.max(i, j);
		});

 

package JavaUtil.exam;

public class CompareExam  {

	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 Math.max(i, j);
		});
		
	}

}