工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java 8関数型インターフェース完全ガイド:java.util.functionパッケージ43種類

関数型インターフェースは単一の機能を持ちます。例えば、単一メソッドcompareToを持つComparableインターフェースは比較目的で使用されます。Java 8ではラムダ式で広範囲に使用される多くの関数型インターフェースがjava.util.functionパッケージで定義されています。以下はその一覧です。

番号インターフェースと説明
1BiConsumer<T,U> - 2つの入力引数を受け取り、結果を返さない操作
2BiFunction<T,U,R> - 2つの引数を受け取り、結果を生成する関数
3BinaryOperator<T> - 同型の2オペランド操作で同型結果を生成
4BiPredicate<T,U> - 2引数の述語(Boolean値関数)
5BooleanSupplier - Boolean値結果のサプライヤー
6Consumer<T> - 単一入力引数を受け取り、結果を返さない操作
7DoubleBinaryOperator - 2つのdoubleオペランド操作でdouble結果生成
8DoubleConsumer - 単一double引数を受け取り、結果を返さない操作
9DoubleFunction<R> - double引数を受け取り結果生成する関数
10DoublePredicate - 1つのdouble引数の述語
11DoubleSupplier - double値結果のサプライヤー
12DoubleToIntFunction - double引数を受け取りint結果生成
13DoubleToLongFunction - double引数を受け取りlong結果生成
14DoubleUnaryOperator - 単一doubleオペランド操作でdouble結果生成
15Function<T,R> - 1引数を受け取り結果生成する関数
16IntBinaryOperator - 2intオペランド操作でint結果生成
17IntConsumer - 単一int引数を受け取り結果返さない操作
18IntFunction<R> - int引数を受け取り結果生成する関数
19IntPredicate - 1つのint引数の述語
20IntSupplier - int値結果のサプライヤー
21IntToDoubleFunction - int引数を受け取りdouble結果生成
22IntToLongFunction - int引数を受け取りlong結果生成
23IntUnaryOperator - 単一intオペランド操作でint結果生成
24LongBinaryOperator - 2longオペランド操作でlong結果生成
25LongConsumer - 単一long引数を受け取り結果返さない操作
26LongFunction<R> - long引数を受け取り結果生成する関数
27LongPredicate - 1つのlong引数の述語
28LongSupplier - long値結果のサプライヤー
29LongToDoubleFunction - long引数を受け取りdouble結果生成
30LongToIntFunction - long引数を受け取りint結果生成
31LongUnaryOperator - 単一longオペランド操作でlong結果生成
32ObjDoubleConsumer<T> - オブジェクトとdouble引数を受け取り結果返さない操作
33ObjIntConsumer<T> - オブジェクトとint引数を受け取り結果返さない操作
34ObjLongConsumer<T> - オブジェクトとlong引数を受け取り結果返さない操作
35Predicate<T> - 1引数の述語(Boolean値関数)
36Supplier<T> - 結果のサプライヤー
37ToDoubleBiFunction<T,U> - 2引数を受け取りdouble結果生成
38ToDoubleFunction<T> - double結果生成する関数
39ToIntBiFunction<T,U> - 2引数を受け取りint結果生成
40ToIntFunction<T> - int結果生成する関数
41ToLongBiFunction<T,U> - 2引数を受け取りlong結果生成
42ToLongFunction<T> - long結果生成する関数
43UnaryOperator<T> - 単一オペランド操作で同型結果生成

関数型インターフェース例:Predicate

Predicate<T>はtest(Object)メソッドでBoolean値を返す関数型インターフェース。オブジェクトがtrue/falseかをテストすることを意味します。

import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

public class Java8Tester {
    public static void main(String args[]) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
        
        System.out.println("Print all numbers:");
        eval(list, n -> true);
        
        System.out.println("Print even numbers:");
        eval(list, n -> n % 2 == 0);
        
        System.out.println("Print numbers greater than 3:");
        eval(list, n -> n > 3);
    }
    
    public static void eval(List<Integer> list, Predicate<Integer> predicate) {
        for (Integer n : list) {
            if (predicate.test(n)) {
                System.out.println(n + " ");
            }
        }
    }
}

実行結果

Print all numbers:
1 2 3 4 5 6 7 8 9
Print even numbers:
2 4 6 8
Print numbers greater than 3:
4 5 6 7 8 9

Java

  1. Java演算子をマスター:種類、構文、実践例
  2. Javaコメント:種類、使い方、ベストプラクティス
  3. Java拡張forループをマスター:構文、例、ベストプラクティス
  4. Java文字列をマスター:生成、メソッド、ベストプラクティス
  5. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
  6. Java無名インナークラス完全ガイド:定義、構文、実践例
  7. Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
  8. Javaアノテーション完全ガイド:種類、配置場所、実践例
  9. Javaアサーション完全ガイド:バグ早期発見とコード信頼性の向上
  10. Java Vectorの理解:使い方、特徴、ArrayListとの比較
  11. Javaインターフェース完全ガイド: 定義・実装・多重継承・タグインターフェース