Heim > Java > javaLernprogramm > Vergleich der Vor- und Nachteile von Iteratoren und For-Schleifen in Java

Vergleich der Vor- und Nachteile von Iteratoren und For-Schleifen in Java

WBOY
Freigeben: 2023-04-22 14:28:09
nach vorne
2006 Leute haben es durchsucht

1. Konzeptionelles Verständnis

for-Schleife: Es handelt sich um eine allgemeine Struktur, die die Iteration unterstützt und die effektivste und flexibelste Schleifenstruktur ist. Wir sagen also, dass es abhängig von Sammlungen existiert.

Foreach: Durch das Lesen des Quellcodes haben wir auch eine iterierbare Schnittstelle gefunden. Es enthält eine iterator()-Methode, die ein Iterator-Objekt generiert, und das Iterator-Objekt wird von foreach verwendet, um sich in der Sequenz zu bewegen. Kann für jedes Objekt verwendet werden, das die Iterable-Schnittstelle implementiert.

2. Effizienzbeispiel

Vergleich der Effizienz in ArrayList:

        List<Integer> integers = Lists.newArrayList();
        for(int i=0;i<100000;i++){
            integers.add(i);
        }
 
        long start1 = System.currentTimeMillis();
        for(int count =0 ;count<10;count++){
            for(int i=0;i<integers.size();i++){
                int j=integers.get(i);
            }
        }
        System.out.println(String.format("for循环100次时间:%s ms",System.currentTimeMillis()-start1));
 
        long start2 = System.currentTimeMillis();
        for(int count =0 ;count<10;count++) {
            for (Integer i : integers) {
               int j = i;
            }
        }
        System.out.println(String.format("foreach循环100次时间:%s ms",System.currentTimeMillis()-start2));
 
        long start3 = System.currentTimeMillis();
        for(int count =0 ;count<10;count++) {
            Iterator<Integer> iterator = integers.iterator();
            while(iterator.hasNext()){
                int j=iterator.next();
            }
        }
        System.out.println(String.format("迭代器循环100次时间:%s ms",System.currentTimeMillis()-start3));
Nach dem Login kopieren
Ergebnis:

for循环100次时间:15 ms
foreach循环100次时间:25 ms
迭代器循环100次时间:20 ms
Nach dem Login kopieren

Die Effizienz der drei unter ArrayList ist fast gleich und die for-Schleife ist die beste, da ArrayList über Arrays implementiert wird , und die Zeit, die benötigt wird, um Arrays über Indizes zu positionieren. Die Komplexität beträgt O(1) und kann in einem Mal lokalisiert werden, sodass die Effizienz sehr hoch ist.

Zusammenfassung: Die for-Schleife erleichtert den Zugriff auf sequentiell gespeicherte Datensätze, während foreach und iterator den Zugriff auf verknüpften Speicher erleichtern.

Das obige ist der detaillierte Inhalt vonVergleich der Vor- und Nachteile von Iteratoren und For-Schleifen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage