Java8 復習 : Filter や Map を使ってみる
Java8 復習シリーズ。Stream API にもう少し踏み込んで、コレクションに対するデータ処理をしてみる。
import java.util.ArrayList;
import java.util.List;
public class Java8Filter {
public static void main(String[] args) {
// 大統領名リスト
List<String> presidentsList = new ArrayList<String>(){{
add("Richard Nixon");
add("Gerald Ford");
add("Jimmy Carter");
add("Ronald Reagan");
add("George Bush");
add("Bill Clinton");
add("George Bush");
add("Barack Obama");
}};
// "G" から始まる人物を出力する
presidentsList.stream()
.filter(president -> president.startsWith("G"))
.forEach(president -> System.out.println(president));
// "G" から始まる人物の文字列の長さを合計してみる
int count = presidentsList.stream()
.filter(president -> president.startsWith("G")) // Filter で絞った Stream を返す
.mapToInt(president -> president.length()) // その Stream から Int の Stream を返す
.sum(); // Int の Stream を操作して結果を返す
System.out.println(count);
}
}
Map 関連は Java の仕様を押さえて覚え直さないと。
ひとまずこんなことができるようになった、というところまで試してみて終わり。