Имеем массив строк:
String[] fruits = new String[] { "Orange", "Apple", "Pear", "Strawberry" };
Ппопробуем вывести его так:
for (String fruit : fruits) {
// выводим fruit
}
И так:
for (int i = 0; i < fruits.length; i++) {
String fruit = fruits[i];
// выводим fruit
}
Вопрос заключается в следующем:
Существует ли гарантия (зафиксированная в документации Java или где-то еще), что порядок вывода элементов массива будет идентичным - то есть цикл
for each
будет гарантированно идти по порядку?
Насколько я помню, в Python это совсем не обязательно и пользоваться таким способом не рекомендуется, так как Python может брать элементы в том порядке, в каком ему удобно, наплевав на очередность.
А как в Java обстоит с этим дело? Есть ли какие-нибудь рекомендации на этот счет?