본문 바로가기

Development/Java

자바8 util 패키지에서, 람다 표현식 연습해보기

자바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