20 *_*fps 2 java foreach java-8 java-stream
我只是在重构一些旧项目以使用Java 8的功能.
int counter = 1;
for (Checker checker : checkers) {
if (counter < checkers.size()) {
checker.setNextChecker(checkers.get(counter++));
}
}
Run Code Online (Sandbox Code Playgroud)
这是一种响应链模式.我需要为列表中的每个检查器设置下一个检查器,不包括最后一个检查器.
还是找不到在这里使用Stream API的方法:)
使用IntStream.range:
IntStream.range(1, checkers.size())
.forEach(i -> checkers.get(i-1).setNextChecker(checkers.get(i)));
Run Code Online (Sandbox Code Playgroud)
或使用for循环:
for (int i = 1; i < checkers.size(); i++)
checkers.get(i-1).setNextChecker(checkers.get(i));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1114 次 |
| 最近记录: |