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