Java, How do I get current index/key in "for each" loop [duplicate]

Solution 1:

You can't, you either need to keep the index separately:

int index = 0;
for(Element song : question) {
    System.out.println("Current index is: " + (index++));
}

or use a normal for loop:

for(int i = 0; i < question.length; i++) {
    System.out.println("Current index is: " + i);
}

The reason is you can use the condensed for syntax to loop over any Iterable, and it's not guaranteed that the values actually have an "index"

Solution 2:

In Java, you can't, as foreach was meant to hide the iterator. You must do the normal For loop in order to get the current iteration.