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 odpowiedziW 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.