5

オブジェクトcarにプロパティfuelがあり、これらのオブジェクトのリストがある場合:リスト内のすべてのオブジェクトcarsのこのプロパティの合計を最適に計算するにはどうすればよいですか?getCarsFuel()

class CarStock {
    List<Car> cars;

    public int getCarsFuel() {
        int result = 0;     

        for (Car car : cars) {
            result += car.getFuel();
        }

        return result;
    }
}

class Car {
    int fuel;
}

より良い方法はありますか、それとも「ボイラープレート」を少なくすることはできません。sum(List<T> list, String property)私は->のようなものをイメージすることができますsum(cars, "fuel") か?

4

1 に答える 1

8

lambdajを使用できる場合は、次のように記述できます。

import static ch.lambdaj.Lambda.*;

List<Car> cars = ...;
int result = sumFrom(cars).getFuel();

lambdajの使用方法のその他の例については、lambdajwikiの機能ページを参照してください。

于 2012-11-21T22:32:00.190 に答える