関数型インタフェースのチートシート
チートシートというより備忘録…のほうがいいかも…
Runnable
メソッド:void run()
引数を取らずに何かを実行するためだけの処理を作るのに使用
Runnable
Runnable r = () -> System.out.println("Hello");
r.run(); // Helloが表示
Consumer<T>
メソッド:void accept(T t)
引数を1つ受け取り、何かを実行するが、戻り値は返さない処理を作るのに使用
Consumer
Consumer<String> con = str -> System.out.println(str);
con.accept("Hello"); // Helloが表示される
Supplier<T>
メソッド:T get()
引数を取らずに、何かを返す処理を作るのに使用
Supplier
Supplier<String> sup = () -> "return Hello";
System.out.println(sup.get()); // return Helloが表示される
Function<T, R>
メソッド:R apply(T t)
引数を一つ受け取り、結果を返す処理を作るときに使用
Function
Function<String, String> func = name -> "Hi! " + name;
System.out.println(func.apply("Jun")); // 「Hi! Jun」が表示される
Predicate<T>
メソッド:boolean test(T t)
引数を1つ受け取り、true
かfalse
を返す処理を作るのに使用
Predicate
Predicate<Integer> pre = num -> 0 < num;
System.out.println(pre.test(11)); // 「true」が表示される
System.out.println(pre.test(-55)); // 「false」が表示される
UnaryOperator<T>
メソッド:T apply(T t)
引数を1つ受け取り、その引数と同じ型の値を返す処理を作るのに使用
UnaryOperator
UnaryOperator<Integer> uo = num -> num * 2;
System.out.println(up.apply(2)); // 4が表示される
BiFunction<T, U, R>
メソッド:R apply(T t, U u)
引数を2つ受け取り、結果を返す処理を作るのに使用
BiFunction
BiFunction<Integer, Integer, String> biFunc = (a, b) -> a+"+"+b+"="+(a + b);
System.out.println(biFunc.apply(10, 10)); // 10+10=20と表示される
()で囲わないと文字列の連結となる
BiConsumer<T, U>
メソッド:void accept(T t, U u)
引数を2つ受け取り、値を返さない処理を作るのに使用
BiConsumer
BiConsumer<String, Integer> printInfo = (name, age) ->
System.out.println(name + " is " + age + " years old.");
printInfo.accept("Alice", 30); // "Alice is 30 years old." が表示される
BiPredicate<T, U>
メソッド:boolean test(T t, U u)
引数を2つ受け取り、boolean型の値を返す処理を作るのに使用
BiPredicate
BiPredicate<String, String> areEqual = (s1, s2) -> s1.equals(s2);
System.out.println(areEqual.test("apple", "apple")); // trueが表示される
BinaryOperator<T>
メソッド:T apply(T t, T t)
引数を2つ受け取り、引数と同じ型の値を返す処理を作るのに使用
BinaryOperaor
BinaryOperator<Integer> multiply = (a, b) -> a * b;
System.out.println(multiply.apply(3, 4)); // 12が表示される