Leistungsvergleich von for-Schleife vs. for-each-Schleife
Die Optimierung der Codeleistung ist bei der Programmierung von entscheidender Bedeutung. Beim Durchlaufen einer Liste von Objekten stehen Entwickler häufig vor dem Dilemma zwischen der Verwendung einer herkömmlichen for-Schleife und einer for-each-Schleife.
Betrachten Sie die folgenden zwei Schleifen:
for (Object o : objectArrayList) { o.DoSomething(); }
for (int i=0; i<objectArrayList.size(); i++) { objectArrayList.get(i).DoSomething(); }
Welche Schleife ist schneller?
Laut Punkt 46 in Effective Java von Joshua Bloch: Es gibt keinen erkennbaren Leistungsunterschied zwischen den beiden Schleifen. Tatsächlich kann die for-each-Schleife in bestimmten Szenarien die for-Schleife geringfügig übertreffen.
Die for-each-Schleife eliminiert Boilerplate-Code und potenzielle Fehler, indem sie den Iterator oder die Indexvariable verbirgt. Die Syntax, die „für jedes Element e in Elementen“ lautet, vereinfacht die Lesbarkeit des Codes.
Außerdem stellt Bloch fest, dass die for-each-Schleife die Grenze des Array-Index nur einmal berechnet, wodurch eine potenzielle Leistung ausgeschlossen wird Engpass in manuell geschriebenen For-Schleifen vorhanden.
Das obige ist der detaillierte Inhalt vonFor-Schleife vs. For-Each-Schleife: Was ist schneller für die Iteration in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!