Опитвайки се да създадете акумулатор за списък, например
public List<Double> accumulator(List<Double> originalList){
List result = new ArrayList<>();
Iterator<Double> iterator = originalList.iterator();
double sum = 0;
while(iterator.hasNext()){
sum = iterator.next() + sum;
result.add(sum);
}
return result;
}
Опитвам се да преобразувам това в използване на Streams API, единственият начин, по който се сещам, е да започна, като направя някакъв дял и след това сумирам резултатите.
вход [20,15,25]
прегради:
[20] = 20
[20,15] = 35
[20,15,25] = 60
краен резултат: [20,35,60]
Някакви прозрения?
Arrays.parrallelPrefix()
, което е гадно, защото е статичен метод и връщаvoid
. Ето моят код:int[] arr = { 1, 2, 3 }; Arrays.parallelPrefix( arr, (s, e) -> s + e );
- person markspace   schedule 23.05.2015