[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
|