Cześć wszystkim !
Mam 2 klasy: Car
i DoubleCar
z jednym polem price
. Chciałbym najlepiej w strumieniu (ale nie wiem czy to możliwe), ewentualnie inaczej stworzyć listę obiektów DoubleCar
w taki sposób, że iterując po liście obiektów Car
obiekt DoubleCar
będzie tworzony przez sume wartości price
z aktualnego obiektu Car
i wartości price
z kolejnego obiektu Car
na liście.
@AllArgsConstructor
public class Car {
int price;
}
@Value
public class DoubleCar {
int price;
public static DoubleCar createDoubleCar(int price1, int price2){
return new DoubleCar(price1 + price2);
}
}
public class Main {
public static void main(String[] args) {
List<Car> cars = List.of(new Car(1), new Car(2), new Car(1), new Car(1));
List<DoubleCar> doubleCars = cars.stream()
//tu DoubleCar.createDoubleCar(car.price, car.price) w drugim argumencie powinno znależć się
// price z kolejnego obiektu Car
.map(car -> DoubleCar.createDoubleCar(car.price, car.price))
.collect(Collectors.toList());
}
}