Я считаю, что я могу делать дальше, используя одну операцию потока на listOfPricedObjects:Java 8 поток добавления элементов в списке, и сумму
List<BigDecimal> myList = new ArrayList();
myList = listOfPricedObjects.stream().map(PricedObject::getPrice).collect(Collectors.toList());
BigDecimal sum = listOfPricedObjects.stream().map(PricedObject::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add)
Как я могу заполнить MyList с ценами и рассчитать сумму цен, используя один поток времени? Thanks
UPD: В результате мне нужен myList, заполненный ценой и суммой переменной с суммой. Но не с помощью usding stream() дважды для этого.
Сбор элементов потока в списке, а также суммирование их в переменную требует побочных эффектов, которые не рекомендуется для потоков (как описано в документах Oracle для потоков) –
Что произошло с понятием чистого кода метода, выполняющего только одну вещь? –