🙆‍♀️

# 【Java Gold】関数型インターフェース

2022/09/01に公開

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
``````

ログインするとコメントできます