Najszybszy sposób iteracji Array w Javie: zmienna pętli vs rozszerzona dla instrukcji [duplikat]

To pytanie ma już tutaj odpowiedź:

Czy istnieje różnica w wydajności między pętlą for i pętlą for-each? 16 odpowiedzi

W Javie jest szybsze iterowanie po tablicy w staromodny sposób,

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

Lub używając bardziej zwięzłej formy,

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

Czy dla ArrayList odpowiedź jest taka sama?

Oczywiście dla ogromnej większości kodu aplikacji odpowiedź brzmi: nie ma dostrzegalnej różnicy, więc bardziej zwięzła forma powinna być używana do czytelności. Jednak kontekst, na który patrzę, to ciężkie obliczenia techniczne z operacjami, które muszą być wykonywane miliardy razy, więc nawet niewielka różnica prędkości może być znacząca.

questionAnswers(6)

yourAnswerToTheQuestion