use*_*195 3 java foreach for-loop
是否可以在java中嵌套foreach语句并在外部foreach循环所在的当前索引处启动嵌套语句?
所以,如果我有
List<myObj> myObjList = new ArrayList<myObj>();
for (myObj o : myObjList){
// how do I start the nested for loop at the current spot in the list?
for(
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
这是一种方法,可以通过自己跟踪索引,然后subList在正确的位置启动内部循环来实现:
int i = 0;
for (myObj o1 : myObjList) {
for (myObj o2 : myObjList.subList(i, myObjList.size())) {
// do something
}
i++;
}
Run Code Online (Sandbox Code Playgroud)
我认为这比使用基本for循环更清晰,但这当然是有争议的。然而,两者都应该有效,所以选择权在你。请注意,如果您使用的集合未实现List<E>,则这将不起作用(subList定义List<E>为“索引”的想法实际上只对列表有意义)。