Я не нашел ничего на странице, на которую вы ссылались, что означало бы итерацию вне порядка. Можете ли вы опубликовать конкретную цитату?
В любом случае, я считаю, что этот код:
public static void main(String args[]) {
double a[] = new double[] { 0, 1, 2, 3 };
int result = 0;
for (double i : a) {
result += i;
}
декомпилирует в старом стиле зацикливание:
public static void main(String args[])
{
double a[] = {
0.0D, 1.0D, 2D, 3D
};
int result = 0;
double ad[];
int k = (ad = a).length;
for(int j = 0; j < k; j++)
{
double i = ad[j];
result = (int)((double)result + i);
}
}
Конечно, это не то же самое, как гарантия, но на самом наименьшая итерация вне порядка по массиву была бы очень странной и, казалось бы, шла бы против очевидной реализации общего смысла.
Это может быть быстрее, чтобы разделить элементы и нити петлю. Некоторые компиляторы уже разворачивают и векторизовать петли, выполняя математику. Это не по порядку. Потоки могли быть следующим. –