Java : BiConsumer - API使用例
BiConsumer (Java SE 18 & JDK 18) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。
概要
BiConsumer は、パラメータを2つとり、戻り値なしの関数型インタフェースです。
final var map = Map.of("aaa", 10, "bbb", 20, "ccc", 30);
System.out.println(map); // {ccc=30, aaa=10, bbb=20}
final var action = new BiConsumer<String, Integer>() {
@Override
public void accept(String key, Integer value) {
System.out.printf("key = %s : value = %d%n", key, value);
}
};
map.forEach(action);
// 結果
// ↓
//key = ccc : value = 30
//key = aaa : value = 10
//key = bbb : value = 20
// ラムダ式の例です。
map.forEach((key, value) -> System.out.printf("key = %s : value = %d%n", key, value));
// 結果
// ↓
//key = ccc : value = 30
//key = aaa : value = 10
//key = bbb : value = 20
メソッド
void accept (T t, U u)
final var biConsumer = new BiConsumer<String, Integer>() {
@Override
public void accept(String t, Integer u) {
System.out.printf("t = %s : u = %d%n", t, u);
}
};
biConsumer.accept("abcd", 123);
// 結果
// ↓
//t = abcd : u = 123
default BiConsumer<T,U> andThen (BiConsumer<? super T,? super U> after)
final var biConsumer1 = new BiConsumer<StringBuilder, Integer>() {
@Override
public void accept(StringBuilder sb, Integer value) {
System.out.println("-- before --");
sb.append("value = %d%n".formatted(value));
System.out.print(sb);
}
};
final var biConsumer2 = biConsumer1.andThen((sb, value) -> {
System.out.println("-- after --");
sb.append("value = %d%n".formatted(value * 10));
System.out.print(sb);
});
biConsumer2.accept(new StringBuilder(), 123);
// 結果
// ↓
//-- before --
//value = 123
//-- after --
//value = 123
//value = 1230
関連記事
- API 使用例