자바8 util 패키지의 함수형 인터페이스를 통해 람다 표현식을 요리 조리 잘 요리할 수 있다.
아주 기본적인 인터페이스들을 가지고 연습해봤다.
Comparator<t> - int compare(T o1, T o2);
1 2 3 4 5 6 | // 몸무게 순으로 오름차순 정렬 Comparator<Member> memberComparator = (m1, m2) -> m1.getWeight().compareTo(m2.getWeight()); memberComparator.reversed() // 몸무게 내림차순으로 정렬, chaining 표현 가능 .thenComparing(Member::getAge); // 몸무게가 같을시, 나이 오름차순 정렬 | cs |
Predicate<T> - boolean test(T t);
1 2 | Predicate<Member> memberPredicate = member -> member.getWeight() > 70; // 몸무게 70 초과 memberPredicate.negate(); // 몸무게 70 이하 | cs |
Fuction<T,R> - R apply(T t);
1 2 3 4 | Function<Long, Long> f = x -> x + 2; // x에 2를 더한 값을 반환 Function<Long, Long> g = x -> x * 2; // x에 2를 곱한 값을 반환 Function<Long, Long> resultFunc = f.andThen(g); //f의 결과 값에 대하여 g를 수행. Long result = resultFunc.apply(10L); // result = 24; | cs |
참고 : Java 8 In Action
'Development > Java' 카테고리의 다른 글
Java Wrapper Class 의 캐싱 (0) | 2017.07.18 |
---|---|
디스패치 (Dispatch) (1) | 2017.02.22 |
익명 클래스 → 람다 표현식 변환 시 주의할 점. (0) | 2017.01.24 |
람다 표현식에서 참조하는 지역 변수가 꼭 final이어야 하는 이유 (0) | 2017.01.08 |
자바8. 람다 표현식에 대하여. (0) | 2017.01.04 |