Java 8には、Streamというクラスが追加されています。 面倒くさい説明を少々しますので飛ばす人はこちらへ→スキップ StreamはC#でいうIEnumbleに準ずるもので、中間処理を実行しても実際の絞り込みは 実行されず、終端処理を呼び出された際に実行されるというものです。 下の例のような記述ができます。 int sumOfRedWeights = blocks.stream().filter(b -> b.getColor() == RED) .mapToInt(b -> b.getWeight()) .sum(); ここでは、blocksをgetColor()==REDで絞り込み(filter)、 getWeight()を抽出して(mapToInt)合計しています(sum)。 中間処理のfilter、mapToIntでは絞込は行われず、 終端処理のsumが呼ばれる際に遅延的に実

