🙆♀️
【Java Gold】関数型インターフェース
Java Gold 勉強用にまとめてます。
※随時更新
No | インターフェース名 | メソッド | 操作 | 引数 | 返却 |
---|---|---|---|---|---|
1 | Function<T,R> | R apply(T t) | 変換 | T | R |
2 | BiFunction<T,U,R> | R apply(T t, U u) | 変換 | T, U | R |
3 | UnaryOperator<T> | T apply(T t) | 単項演算 | T | T |
4 | BinaryOperator<T> | T apply(T t1, T t2) | 単項演算 | T, T | T |
5 | Consumer<T> | void accept(T t) | 消費 | T | |
6 | BiConsumer<T,U> | void accept(T t, U u) | 消費 | T, U | |
7 | Supplier<T> | T get() | 供給 | T | |
8 | Predicate<T> | boolean test(T t) | 評価 | T | boolean |
9 | BiPredicate<T,U> | boolean test(T t, U u) | 評価 | T, U | boolean |
Function
実装例
public static void main(String[] args) {
// 例:Integer -> String 変換
Function<Integer, String> function = f -> Integer.toString(f);
String f = function.apply(1111);
System.out.println(f);
}
実施結果
1111
BiFunction
実装例
public static void main(String[] args) {
// 例:Integer -> String 変換
BiFunction<Integer, Integer, String> biFunction = (depth, width) -> Integer.toString(depth * width);
String area = biFunction.apply(2, 3);
System.out.println(area + "㎠");
}
実施結果
6㎠
UnaryOperator
実装例
public static void main(String[] args) {
// 例:文字結合
UnaryOperator<String> unaryOperator = string -> "No." + string;
String no = unaryOperator.apply("1");
System.out.println(no);
}
実施結果
No.1
BinaryOperator
実装例
public static void main(String[] args) {
// 例:足し算
BinaryOperator<Integer> binaryOperator = (b1, b2) -> b1 + b2;
int sum = binaryOperator.apply(1, 2);
System.out.println(sum);
}
実施結果
3
Consumer
実装例
public static void main(String[] args) {
// 消費(Consumerはvoidメソッド)
Consumer<String> consumer = string -> System.out.println("No. " + string);
consumer.accept("1");
}
実施結果
No. 1
BiConsumer
実装例
public static void main(String[] args) {
// 消費(BiConsumerはvoidメソッド)
BiConsumer<String, String> biConsumer = (s1, s2) -> System.out.println("No. " + s1 + s2);
biConsumer.accept("1", "2");
}
実施結果
No. 12
Supplier
実装例
public static void main(String[] args) {
// 供給
Supplier<String> supplier = () -> "test";
System.out.println(supplier.get());
}
実施結果
test
Predicate
実装例
public static void main(String[] args) {
// 評価
Predicate<String> predicate = string -> string.isEmpty();
System.out.println(predicate.test(""));
}
実施結果
true
BiPredicate
実装例
public static void main(String[] args) {
// 評価
BiPredicate<String, String> biPredicate = (s1, s2) -> s1.equals(s2);
System.out.println(biPredicate.test("1", "1"));
}
実施結果
true
Discussion