問題
Listをループする際に便利な拡張for文ですが、どうしても冗長化してしまい
可読性に欠けることが多くある為、ラムダ式を用いて冗長化をなるべく防ぎたいと日々思っています。
例えばListを普通に拡張for文でループする場合は
List<String> list = new ArrayList<>();
list.add("赤");
list.add("青");
list.add("黄色");
for(String color: list){
System.out.println(color);
}
これをラムダ式に置き換えると、、、
List<String> list = new ArrayList<>();
list.add("赤");
list.add("青");
list.add("黄色");
list.forEach(color -> System.out.println(color));
上記の場合
①:「color」の部分にループする際に代入する変数を定義
②:「System.out.println(color)」の部分にループ中に行う処理
※{}を次のように用いれば、ループ中に行う処理を増やすことも可能
list.forEach(color -> {System.out.println(color); System.out.println(color + "色");});