sungwony

[JAVA8] java.util.function 패키지 본문

language/java

[JAVA8] java.util.function 패키지

일상이상삼상 2018. 6. 27. 00:07

java.util.function 패키지


Java 8에 추가되었으며 람다 표현식을 보조하는 인터페이스를 모아놓은 패키지이다.

Function, Supplier, Consumer, Predicate, UnaryOperator, BinaryOperator 등의 인터페이스가 있으며, 

람다 표현식으로 선언될 추상 메소드를 하나씩 가지고 있다.

java.util.function API


Predicate<T>

- boolean test(T t)

- default Predicate<T> and(Predicate<? super T> other)

- default Predicate<T> or(Predicate<? super T> other)

- default Predicate<T> negate(Predicate<? super T> other)

- static <T> Predicate<T> isEqual(Object targetRef)


Supplier<T>

- T get()


Consumer<T>

- void Accept(T t)

- default Consumer<T> andThen(Consumer<? super T> after)


Function<T,R>

- R apply(T t)

- default <V> Function<T, V> andThen(Function <? super R, ? extends V> after)

- defualt <V> Function<V, R> compose(Function <? super V, ? extends T> before)

- static <T> Function<T, T> identity()


UnaryOperator<T>

- Function<T, T>를 상속받은 인터페이스

- static <T> unaryOperator<T> identity()


BinaryOperator<T>

- BiFunction<T, T, T>를 상속받은 인터페이스

- static <T> BinaryOperator<T> maxBy(Comparator<? super T> comparator)

- static <T> BinaryOperator<T> minBy(Comparator<? super T> comparator)


[예제] Predicate


'language > java' 카테고리의 다른 글

[JAVA8] 메소드 참조  (0) 2018.06.28
[JAVA8] Stream  (0) 2018.06.27
[JAVA8] 람다(Lambda) 표현식  (0) 2018.06.26
[JAVA8] 자바8 목차  (0) 2018.06.26
JVM(Java Virtual Machine) Runtime Data Area  (0) 2018.02.14