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!