У меня есть объект Product,
и код, указанный ниже, hashSetProducts - это LinkedHashSet of Products. Как я могу написать все ниже, используя функцию потока Java 8? Я понимаю, что стоимость ремианинга будет заменяться каждый раз. Я хочу получить окончательное значение после выхода из цикла.
int getRemaining(int remaining){
for(Product P : hashSetProducts){
remaining = calculate(p.qty(), p.price(), remaining, location); //
use Java 8 stream here
}
return remaining
}
private int calculate(int qty, double price, int rem, Location location){
if(rem== 0){
return 0;
}
int avail = location.get(qty, rem);
if(avail > 0){
rem = avail - rem;
}
return rem;
}