[mw_shl_code=java,true]package com.sort;
import java.util.ArrayList; import java.util.Iterator; java.util.List importieren;
/** * Drei Arten der Durchquerung der Liste * @author Besitzer
* */ öffentliche Klasse ListTest {
public static void main(String[] args) {
Listenliste<String> = neue ArrayList<String>();
list.add("a"); list.add("b"); list.add("c"); list.add("c"); Doppelte Daten können hinzugefügt werden
Durchquerungsmethode 1 for(Iterator<String> Iterator = list.iterator(); iterator.hasNext(); ){ Zeichenkettenwert = iterator.next();
System.out.println(value); }
Durchquerungsmethode 2 for(String-Wert : list){ System.out.println(value); }
Durchquerungsmethode 3 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); }
} } [/mw_shl_code]
Vergleichende Analyse der drei Durchläufe:
Methode 1 Durchlauf: Während der Ausführung wird die Datensperre durchgeführt, die Leistung wird etwas schlechter, und wenn Sie ein Element während der Schleife entfernen möchten, können Sie nur die it.delete-Methode aufrufen.
Methode 2 Durchlauf: Nennen Sie den ersten Typ intern
Methode 3: Fortbewegung: Sie ist intern nicht gesperrt, was am effizientesten ist, aber beim Schreiben von Multithreading sollte das Problem der gleichzeitigen Operationen berücksichtigt werden
Die beiden Hauptimplementierungen der List-Schnittstelle, ArrayList und LinkedList, können auf diese Weise durchquert werden Vergleichende Analyse von ArrayList vs. LinkedList a) Die zugrundeliegende Schicht von ArrayList wird mit Arrays implementiert, und die zugrundeliegende Schicht von LinkedList mit bidirektionalen verknüpften Listen. b) Beim Einfügen oder Löschen ist es besser, LinkedList zu verwenden. c) Bei einer Suchoperation ist es besser, ArrayList zu verwenden.
Um es klar zu sagen: Es handelt sich um sequentielle Speicherung und Kettenspeicherung in der Datenstruktur
|