Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 13604|Svar: 0

[JavaSE] Traversering av listsamling i Java och jämförande analys av två implementeringsklasser

[Kopiera länk]
Publicerad på 2015-01-04 13:29:38 | | |
[mw_shl_code=java,true]package com.sort;  
  
importera java.util.ArrayList;  
import java.util.Iterator;  
importera java.util.List;  
  
/**
* Tre typer av genomgång av listan
* @author Ägare
*
*/  
public class ListTest {  
  
    public static void main(String[] args) {  
         
        List<String> list = ny ArrayList<String>();  
         
        list.add("a");  
        list.add("b");  
        list.add("c");  
        list.add("c"); Dubblettdata kan läggas till  
         
        Förflyttningsmetod 1  
        for(Iterator<String> iterator = list.iterator(); iterator.hasNext(); ){  
            Strängvärde = iterator.next();  
              
            System.out.println(värde);  
        }  
         
        Förflyttningsmetod 2  
        för(Strängvärde : list){  
            System.out.println(värde);  
        }  
         
        Traverseringsmetod 3  
        för(int i=0; i<list.size(); i++){  
            System.out.println(list.get(i));  
        }  
         
    }  
} [/mw_shl_code]


Jämförande analys av de tre traverserna:

Metod 1 traversering:

Under exekveringen kommer datalåsning att genomföras, prestandan blir något sämre, och om du vill ta bort ett element under loopen kan du bara anropa it.delete-metoden.   

Metod 2 Traversering:

Kalla den första typen internt

Metod 3: Förflyttning:

Den är inte låst internt, vilket är mest effektivt, men när man skriver multitrådning bör problemet med samtidiga operationer beaktas

De två huvudsakliga implementationerna av Listgränssnittet, ArrayList och LinkedList, kan navigeras på detta sätt

Jämförande analys av ArrayList vs LinkedList
a) Det underliggande lagret i ArrayList implementeras med arrayer, och det underliggande lagret i LinkedList implementeras med tvåvägs länkade listor.
b) När du utför insättnings- eller borttagningsoperationer är det bättre att använda LinkedList.
c) När man utför en sökoperation är det bättre att använda ArrayList.


För att uttrycka det rakt på sak är det sekventiell lagring och kedjelagring i datastrukturen




Föregående:Användning av jstl-taggen &lt;c:if&gt;
Nästa:java:list和set集合的遍历
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com