1. 함수형 인터페이스
- 단 하나의 추상 메서드만 선언된 인터페이스
- 인터페이스 선언
@FunctionalInterface // 함수형 인터페이스는 단 하나의 추상 메서드만 가져야 함. interface MyFunction { public abstract int max(int a, int b); } |
사용방법1.
MyFunction f = new MyFunction(){ public int max(int a, int b) { return a>b ? a:b; } } int value1 = f.max(3,5); // 5 |
사용방법2.
MyFunction f2 = (a, b) -> a>b ? a:b; int value2 = f.max(3,5); // 5 |
EX) 익명 객체를 람다식으로 대체
- 익명 객체
interface Comparator<T> { int compare(T o1, T o2); } List<String> list = Arrays.asList("abc", "aaa", "bbb", "ddd", "aaa"); Collections.sort(list, new Comparator<String>(){ public int compare(String s1, String s2) { return s2.compareTo(s1); } }); |
- 람다식
List list = Arrays.asList("abc", "aaa", "bbb", "ddd", "aaa"); Collections.sort(list, (s1, s2) -> s2.compareTo(s1)); |
'공부 > Java' 카테고리의 다른 글
스트림(Stream) - 1 (0) | 2022.03.08 |
---|---|
람다식 -> 메서드 참조 (0) | 2022.03.01 |
함수형 인터페이스 : Predicate 결합 (0) | 2022.03.01 |
java.util.function 패키지 (함수형 인터페이스) (0) | 2022.03.01 |
람다식 (Lambda Expression) (0) | 2022.03.01 |
댓글