Is it possible to nest foreach statements in java and start the nested statement at the current index that the outer foreach loop is at?
So if I have
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(
}
Thanks!
Here's a way to do it by keeping track of the index yourself, then using subList to start the inner loop at the right spot:
int i = 0;
for (myObj o1 : myObjList) {
for (myObj o2 : myObjList.subList(i, myObjList.size())) {
// do something
}
i++;
}
I think this is clearer than using basic for loops, but that's certainly debatable. However, both should work, so the choice is yours. Note that if you are using a collection that does not implement List<E>, this will not work (subList is defined on List<E> as the idea of an "index" really only makes sense for lists).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With