我有一个整数列表list1,想要得到另一个列表list2,其中包含从开头累积求和至当前索引的结果。如何使用Java 8 Stream API实现?
List<Integer> list1 = new ArrayList<>();
list1.addAll(Arrays.asList(1, 2, 3, 4));
List<Integer> list2 = new ArrayList<>();
// initialization
list2.add(list1.get(0));
for(int i=1;i<list1.size();i++) {
// increment step
list2.add(list2.get(i-1) + list1.get(i));
}
我该如何将以上的命令式风格代码转换为声明式风格?
list2 should be [1, 3, 6, 10]