talosのプログラミング教室

Java Gold合格への道 ~java.util.functionの関数型インタフェース~

スポンサーリンク

こんにちは。たろすです。

今回はjava.util.functionパッケージにあらかじめ用意されている関数型インタフェースについて説明します。

関数型インタフェースとラムダ式を理解している前提なので、よくわからない方はまずはこちらをご覧ください。

talosta.hatenablog.com

Supplier

Supplierは日本語にすると「供給者」。

つまり引数は受け取らないけど戻り値を供給する抽象メソッド「T get()」を宣言する関数型インタフェースです。

以下のように使います。

Supplier<String> supplier = () -> "Hello";
System.out.println(supplier.get());

Predicate

Predicateは論理学における「述語」という意味です。

つまり引数を受け取り評価する抽象メソッド「boolean test(T t)」を宣言する関数型インタフェースです。

以下のように使います。

Predicate<Integer> predicate = num -> num == 0;
System.out.println(predicate.test(5));

Consumer

Consumerは日本語にすると「消費者」。

つまり引数を消費し戻り値を返さない抽象メソッド「void accept(T t)」を宣言する関数型インタフェースです。

以下のように使います。

Consumer<Integer> consumer = num -> System.out.println(num + 1);
consumer.accept(1);

Function

Functionは日本語にすると「関数」。

つまり引数を受け取り戻り値を返す抽象メソッド「R apply(T t)」を宣言する関数型インタフェースです。

以下のように使います。

Function<Integer, Integer> function = num -> num + 1;
System.out.println(function.apply(2));

おわりに

今回はjava.util.functionパッケージにあらかじめ用意されている関数型インタフェースについて説明しました。