[mw_shl_code=java,true]package com.sort;
import java.util.ArrayList; import java.util.Iterator; import java.util.List;
/** * Trzy rodzaje przejścia przez listę * @author Właściciel
* */ public class ListTest {
public static void main(String[] args) {
List<String> List = nowy ArrayList<String>();
list.add("a"); list.add("b"); list.add("c"); list.add("c"); Można dodać zduplikowane dane
Metoda przechodzenia 1 for(<String>Iterator iterator = list.iterator(); iterator.hasNext(); ){ Wartość ciągu = iterator.next();
System.out.println(value); }
Metoda przechodzenia 2 for(wartość ciągu : list){ System.out.println(value); }
Metoda przechodzenia 3 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); }
} } [/mw_shl_code]
Analiza porównawcza trzech przejść:
Metoda 1 przejścia: Podczas wykonywania wykonywane jest blokowanie danych, wydajność będzie nieco gorsza, a jeśli chcesz usunąć element podczas pętli, możesz wywołać tylko metodę it.depre.
Metoda 2 Przemieszczania się: Wewnętrznie wywołaj pierwszy typ
Metoda 3: Przemieszczanie się: Nie jest zablokowany wewnętrznie, co jest najefektywniejsze, ale przy zapisie wielowątkowania należy uwzględnić problem operacji współbieżnych
Dwie główne implementacje interfejsu List, ArrayList i LinkedList, można przejrzeć w ten sposób Analiza porównawcza ArrayList vs LinkedList a) Warstwa podstawowa ArrayList jest zaimplementowana za pomocą tablic, a warstwa podstawowa LinkedList za pomocą dwukierunkowych list powiązanych. b) Podczas wykonywania operacji wstawiania lub usuwania lepiej jest używać LinkedList. c) Podczas wykonywania operacji wyszukiwania lepiej jest użyć ArrayList.
Mówiąc wprost, jest to sekwencyjne przechowywanie i łańcuchowe przechowywanie w strukturze danych
|