我想迭代e2
,它是List中每个元素e1
之后的元素。
我正在寻找实现以下目的的干净正确的方法:
For each element e1 in eList:
For each element e2 after e1 in eList;
algorithm(e1, e2)
我到目前为止所做的:
List<Element> eList = init(1, 2, 3, 4, 5, 6, 7, 8);
for (int i = 0; i < eList.size(); i++){
for (int j = 0; j < eList.size(); j++){
if (j > i){
Element e1 = eList.get(i);
Element e2 = eList.get(j);
algorithm(e1, e2)
}
}
}
答案 0 :(得分:0)
类似以下内容:
List<Element> eList = init(1, 2, 3, 4, 5, 6, 7, 8);
for (int i = 0; i < eList.size() - 1; i++) {
Element e1 = eList.get(i);
for (int j = i + 1; j < eList.size(); j++) {
Element e2 = eList.get(j);
algorithm(e1, e2);
}
}
外部for
循环运行直到倒数第二个元素,以确保始终有另一个元素出现。内部for
循环从外部for
循环的索引开始,一直到最后。