Java8のBiConsumerインタフェースを理解する

Java8のBiConsumerインタフェースを理解する

java.util.function.BiConsuberインタフェースは関数型インタフェースと呼ばれるインタフェースで、applyメソッド一つだけを持っています。

引数を2つ持ち、戻り値はvoidです。

import java.util.function.BiConsumer;

public class Sample {
  public static void main(String[] args) {
    final BiConsumer<Integer, Integer> biConsumer = (e1, e2) -> System.out.println(e1 * e2);
    biConsumer.accept(3, 2); // 6
  }
}

forEachの引数にBiConsumer型を指定する

MapのforEachメソッドにBiConsumerのインスタンスを引数で渡します。

import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;

public class Sample {
  public static void main(String[] args) {
    final Map<String, Integer> map = new HashMap<>();
    map.put("Tom", 18);
    map.put("Bob", 20);
    map.put("Ken", 23);
    final BiConsumer<String, Integer> biConsumer =
      (key, value) -> System.out.println(key + " : " + value);
    map.forEach(biConsumer);
  }
}

結果は以下のようになります。

Tom : 18
Bob : 20
Ken : 23

コメント

タイトルとURLをコピーしました