それで、私が単純なオブジェクトを持っているとしましょう:
public class Items {
private static int
numItems,
itemsInStock,
itemsSold,
//...
}
コードの他の場所で、 ArrayList<Items>
オブジェクトの各フィールドでfor / eachを実行する必要なしに、numItems / ItemsInStockなどの平均/中央値を取得する簡単な方法がある場合
現在のコードは次のようになります:
for (Items item: allItems) {
if (item.field != null) {
temp += item.field;
}
}
fieldAvg = temp / allItems.size();
ストリームの使用は間違いなくよりエレガントです:
double avg = allItems.stream().mapToInt(i -> i.itemsInStock).average().getAsDouble();
// Or any other field -------------------------^
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加