Maneira mais rápida de iterar uma matriz em Java: variável de loop vs aprimorada para instrução [duplicado]

Esta questão já tem uma resposta aqui:

Existe uma diferença de desempenho entre um loop for e um loop for-each? 16 respostas

Em Java, é mais rápido fazer uma iteração em um array da maneira antiga,

<code>for (int i = 0; i < a.length; i++)
    f(a[i]);
</code>

Ou usando a forma mais concisa,

<code>for (Foo foo : a)
    f(foo);
</code>

Para uma ArrayList, a resposta é a mesma?

É claro que, para a grande quantidade de código de aplicativo, a resposta é que não faz diferença discernível, portanto, a forma mais concisa deve ser usada para facilitar a leitura. No entanto, o contexto que estou observando é computação técnica pesada, com operações que devem ser realizadas bilhões de vezes, de modo que até mesmo uma pequena diferença de velocidade pode ser significativa.

questionAnswers(6)

yourAnswerToTheQuestion