Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13604|Antwort: 0

[JavaSE] Durchlauf der Listensammlung in Java und vergleichende Analyse von zwei Implementierungsklassen

[Link kopieren]
Veröffentlicht am 04.01.2015 13:29:38 | | |
[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




Vorhergehend:Verwendung des jstl-Tags &lt;c:if&gt;
Nächster:java:list和set集合的遍历
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com