Heim >Java >javaLernprogramm >For-Schleife vs. For-Each-Schleife: Was ist leistungsfähiger?

For-Schleife vs. For-Each-Schleife: Was ist leistungsfähiger?

DDD
DDDOriginal
2024-12-19 12:43:09365Durchsuche

For Loop vs. For-Each Loop: Which is More Performant?

Leistungsvergleich: for-Schleife vs. for-Each-Schleife

Im Bereich der Schleifenkonstrukte stellt sich häufig die Frage der Leistung, die zu den führenden führt zu einem Vergleich zwischen for-Schleifen und for-each-Schleifen.

For-Schleife vs. 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();
}

Leistungsvergleich

Gemäß Punkt 46 von Joshua Blochs „ Effektives Java“ gibt es keine Leistungseinbußen bei der Verwendung der for-each-Schleife. Vielmehr kann es in bestimmten Szenarien sogar einen leichten Vorteil bieten.

Grund für die Leistungsverbesserung

Die for-each-Schleife überspringt den Schritt der Berechnung der Grenze des Arrays mehrfach indizieren. In der for-Schleife wird es bei jeder Iteration berechnet. Im Gegensatz dazu führt die for-each-Schleife diese Berechnung nur einmal durch.

Fazit

Programmierer, die nach Effizienz streben, können ohne großen Aufwand entweder for-Schleifen oder for-each-Schleifen verwenden Bedenken hinsichtlich der Leistung. Die Einfachheit und Lesbarkeit des Codes der for-each-Schleife machen sie jedoch in den meisten Situationen zu einer wünschenswerteren Wahl.

Das obige ist der detaillierte Inhalt vonFor-Schleife vs. For-Each-Schleife: Was ist leistungsfähiger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn