Java StreamAPI
Java8から使えるようになったSteramAPIですが、配列やList、Map型の変数を扱う時に大変便利なものですよね。
しかし、書き方に若干クセがあり私もしょっちゅう忘れます。
その都度調べながらという感じなので自分のブログにも残しておきたいと思います。
一個の記事に全ては書ききれないので、今回は各種配列、LIst、Mapを扱う時のSteramAPIの書き方についてまとめておきます。
配列の時のSteramAPI
配列の場合はjava.util.ArraysにstreamAPIが用意されているのでそちらを使用。
// 配列型定義 String[] animalArray = {"Dog","Cat"}; // SteramAPIでCから始まるものに絞る Arrays.stream(animalArray).filter(a -> a.startsWith("C")) .forEach(System.out::println);
■実行結果
Cat
List型の時のSteramAPI
List型の場合はjava.util.ArrayListにstreamAPIが用意されているので、List型で宣言された変数から使用可能。
// List型 List<String> animalList = Arrays.asList("Dog","Cat"); // SteramAPIでCから始まるものに絞る animalList.stream().filter(a -> a.startsWith("C")) .forEach(System.out::println);
Map型の時のSteramAPI
Map型の場合はjava.util.Map自体にはstreamAPIが用意されていないため、entrySetを経由して使用する。
// Map型 Map<Integer,String> animalMap = new HashMap<Integer,String>() {{put(1,"Dog");put(2, "Cat");}}; // SteramAPIでCから始まるものに絞る animalMap.entrySet().stream() .filter(a -> a.getValue().startsWith("C")) .forEach(System.out::println);
StreamAPIの各型に対する記述方法をまとめました
とりあえず今回はStreamAPIを使用するときに各型での書き方をまとめてみました。 多分また忘れると思うのでちょくちょくここで見直そうかと思います。 StreamAPIの中間処理に関してはまた今度の機会に書きます。