Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 13604|Răspunde: 0

[JavaSE] Traversarea colecției de liste în Java și analiza comparativă a două clase de implementare

[Copiază linkul]
Postat pe 04.01.2015 13:29:38 | | |
[mw_shl_code=java,true]pachet com.sort;  
  
import java.util.ArrayList;  
import java.util.Iterator;  
import java.util.List;  
  
/**
* Trei tipuri de traversare a listei
* @author Proprietar
*
*/  
clasa publică ListTest {  
  
    public static void main(String[] args) {  
         
        <String> List list = new <String>ArrayList();  
         
        list.add("a");  
        list.add("b");  
        list.add("c");  
        list.add("c"); Datele duplicate pot fi adăugate  
         
        Metoda de traversare 1  
        for(Iterator<String> iterator = list.iterator(); iterator.hasNext(); ){  
            Valoarea șirului = iterator.next();  
              
            System.out.println(valoare);  
        }  
         
        Metoda de traversare 2  
        for(Valoarea șirului : list){  
            System.out.println(valoare);  
        }  
         
        Metoda de traversare 3  
        for(int i=0; i<list.size(); i++){  
            System.out.println(list.get(i));  
        }  
         
    }  
} [/mw_shl_code]


Analiză comparativă a celor trei traversări:

Traversarea metodei 1:

În timpul execuției, se va efectua blocarea datelor, performanța va fi puțin mai slabă, iar dacă vrei să elimini un element în timpul buclei, poți folosi doar metoda it.remove.   

Traversarea Metodei 2:

Cheamă primul tip intern

Metoda 3: Traversare:

Nu este blocat intern, ceea ce este cel mai eficient, dar atunci când scrii multithreading, trebuie luată în considerare problema operațiilor concurente

Cele două implementări principale ale interfeței List, ArrayList și LinkedList, pot fi parcurse astfel

Analiză comparativă între ArrayList și LinkedList
a) Stratul de bază al ArrayList este implementat cu tablouri, iar stratul de bază al LinkedList este implementat cu liste legate bidirecționale.
b) Când se efectuează operațiuni de inserare sau ștergere, este mai bine să se folosească LinkedList.
c) Când se efectuează o operațiune de căutare, este mai bine să se folosească ArrayList.


Ca să fiu direct, este stocare secvențială și stocare în lanț în structura de date




Precedent:Utilizarea etichetei jstl &lt;c:if&gt;
Următor:java:list和set集合的遍历
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com