[mw_shl_code=java,true]package com.sort;
import java.util.ArrayList; import java.util.Iterator; import java.util.List;
/** * Tři typy procházení seznamu * @author Majitel
* */ public class ListTest {
public static void main(String[] args) {
List<String> list = nový ArrayList<String>();
list.add("a"); list.add("b"); list.add("c"); list.add("c"); Lze přidat duplicitní data
Metoda procházení 1 for(<String>Iterator iterator = list.iterator(); iterator.hasNext(); ){ Hodnota řetězce = iterator.next();
System.out.println(value); }
Metoda procházení 2 for(String value : list){ System.out.println(value); }
Metoda průchodu 3 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); }
} } [/mw_shl_code]
Srovnávací analýza těchto tří průjezdů:
Metoda 1 – průchod: Během vykonávání dochází k datovému uzamčení, výkon bude o něco horší a pokud chcete během smyčky odstranit prvek, můžete použít pouze metodu it.esee.
Metoda 2: Procházení: První typ zavolejte interně
Metoda 3: Procházení: Není interně uzamčen, což je nejefektivnější, ale při psaní vícevláknového zpracování by měl být zohledněn problém souběžných operací
Dvě hlavní implementace rozhraní List, ArrayList a LinkedList, lze tímto způsobem projít Srovnávací analýza ArrayList vs LinkedList a) Základní vrstva ArrayList je implementována pomocí polí a základní vrstva LinkedListu je implementována pomocí obousměrných propojených seznamů. b) Při provádění operací vkládání nebo mazání je lepší použít LinkedList. c) Při provádění vyhledávací operace je lepší použít ArrayList.
Jednoduše řečeno, jde o sekvenční a řetězové ukládání v datové struktuře
|