Wenn ein Objekt car
eine Eigenschaft fuel
hat, und ich habe eine Liste dieser Objekte cars
: Wie kann ich am besten die Summe dieser Eigenschaft getCarsFuel()
aller Objekte in der Liste berechnen?Wie berechnet man am besten die Summe einer Objekteigenschaft?
class CarStock {
List<Car> cars;
public int getCarsFuel() {
int result = 0;
for (Car car : cars) {
result += car.getFuel();
}
return result;
}
}
class Car {
int fuel;
}
Gibt es bessere Möglichkeiten, oder kann es nicht weniger "Boilerplate" getan werden. könnte ich etwas wie sum(List<T> list, String property)
->sum(cars, "fuel")
?
import static ch.lambdaj.Lambda.*;
List<Car> cars = ...;
int result = sumFrom(cars).getFuel();
Für einige weitere Beispiele dafür, wie lambdaj zu verwenden, finden Sie in der Features Seite auf dem lambdaj wiki:
Sicher könnten Sie eine Hilfsmethode wie Sie Vorschlag schreiben. Aber es gibt keine integrierte Möglichkeit, dies in Java zu tun. –
@SamIam: mit C# ist nicht immer eine akzeptable Lösung, Sie können leicht für Groovy gehen und M $ vergessen. – Jack