자주 사용되는 함수형 인터페이스를 제공
인터페이스 | 메서드 | 설명 |
java.lang.Runnable | void run() | 리턴 값과 매개변수 둘다 없다. |
Supplier<T> |
T get() | 리턴 값만 있다. |
Consumer<T> |
void accept(T t) | 매개변수만 있다. |
Function<T,R> |
R apply(T t) | 하나의 매개변수와 하나의 리턴 값을 가진다. |
Predicate<T> |
boolean test(T t) | 하나의 매개변수를 가지고 booean값을 리턴한다. |
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
public class FunctionInterface2 {
public static void main(String[] args) {
Runnable r = () -> System.out.println("test");
Supplier<String> s = () -> "test2";
Consumer<String> c = a -> System.out.println(a);
Function<String, Integer> f = a -> a.length();
Predicate<String> p = a -> a.equals("test5");
r.run();
System.out.println(s.get());
c.accept("test3");
System.out.println(f.apply("test4"));
System.out.println(p.test("test5"));
}
}
/*
test
test2
test3
5
true
*/
매개변수가 2개인 함수형 인터페이스
인터페이스 | 메서드 |
BiConsumer<T,R> |
void accept(T t, R r) |
BiFunction<T,R,U> |
U apply(T t, R r) |
BiPredicate<T, R> |
boolean test(T t, R r) |
BiConsumer<String, Integer> bc = (a, b) -> System.out.println("a = " + a + " b = " + b);
bc.accept("test6", 20);
//a = test6 b = 20
매개변수 타입과 리턴타입이 일치하는 함수형 인터페이스
인터페이스 | 메서드 | 설명 |
T apply(T t) | Function의 자식 |
|
T apply(T t, T r) | BiFunction의 자식 |
UnaryOperator<String> uo = (a) -> a + "world";
System.out.println(uo.apply("hello "));
//hello world
'정리 > Java' 카테고리의 다른 글
Java - 함수형 인터페이스(Predicate) 합성 (0) | 2017.03.01 |
---|---|
Java - 함수형 인터페이스(Function) 합성 (0) | 2017.02.28 |
Java - 기본형을 사용하는 함수형 인터페이스 (0) | 2017.02.27 |
Java - 함수형 인터페이스 (0) | 2017.02.25 |
Java - 람다(Lambda) (0) | 2017.02.24 |
댓글