はじめに
本記事では、Java8で追加されたListやMapなどを巡回(Iterate)するためのforEachメソッドについてアウトプットします。
以下ではMapを巡回するための方法について書きます。
#①Lambdaを使用する場合
Map<String, String> capitalsMap = new LinkedHashMap<>();
capitalsMap.put("Paris", "France");
capitalsMap.put("Beijin", "China");
capitalsMap.put("Berlin", "Germany");
capitalsMap.put("Canberra", "Australia");
capitalsMap.forEach((k, v) -> {
System.out.println("key: " + k + ", value: " + v);
});
##出力
key: Paris, value: France
key: Beijin, value: China
key: Berlin, value: Germany
key: Canberra, value: Australia
#②entrySetを使用する場合
Map<String, String> capitalsMap = new LinkedHashMap<>();
capitalsMap.put("Paris", "France");
capitalsMap.put("Beijin", "China");
capitalsMap.put("Berlin", "Germany");
capitalsMap.put("Canberra", "Australia");
capitalsMap.entrySet().forEach(entry -> {
System.out.println("key: " + entry.getKey()
+ ", value: " + entry.getValue());
});
##出力
key: Paris, value: France
key: Beijin, value: China
key: Berlin, value: Germany
key: Canberra, value: Australia
まとめ
個人的にはentrySetを使った方が分かりやすいですが、
Lambdaを使った方がコードがスッキリして良いと思いました。