在旧版Java中,我们可以循环一个集合并在每个
因此,考虑到
我们可以执行一些周期性的操作,例如:
X
项上执行某些操作-例如,将一组项目保存到数据库中:因此,考虑到
List students = ....;
我们可以执行一些周期性的操作,例如:
for(int i = 0; i < students.size(); i++){
methodA(students.get(i));
methodB(students.get(i));
if (i % 100 == 0){
flushToDB(...);
reportProgressToSlack(...);
....
}
}
尝试使用 Streams
做类似的事情时,我们会遇到错误:
int counter = 0;
students.stream().forEach(student -> {
methodA(student);
methodB(student);
counter++;
});
当然,编译器会抱怨counter
必须是final或有效的final。
有没有使用Java Streams
实现这样一件事情的方法呢?