java以定义的顺序(从中间开始)在一个范围内循环的最佳方式
我想在定义的范围内循环,但顺序对我来说很重要。 假设我在20位,我想从20到30,然后从20向后到10。 我目前的代码是:
Object nextElement = currentElement.next();
for (int i= 20; i<= 30; i++) {
if (nextElement == null) {
break;
}
if (!isCondition(nextElement,i)) {
continue;
}
nextElement.runSomething();
nextElement = nextElement.next();
}
Object previousElement = currentElement.previous();
for (int i= 20; i>= 10; i--) {
if (previousElement == null) {
break;
}
if (!isCondition(previousElement ,i)) {
continue;
}
previousElement .runSomething();
previousElement = previousElement.previous();
}
我的问题是,我在两个循环上运行了90%相同的代码。这些数字对元素没有用处,它们只是用来计数。有更简单的方法吗
更新:我忘了一个重要的部分!重复的代码将操纵循环
# 1 楼答案
你可以这样做:
当然,你也可以建立索引列表: