[mw_shl_code=java,true]package com.sort;
import java.util.ArrayList; import java.util.Iterator; import java.util.List;
/** * Tri typy prechodu zoznamu * @author Majiteľ
* */ 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"); Môžu byť pridané duplicitné údaje
Metóda prechodu 1 for(<String>Iterator iterator = list.iterator(); iterator.hasNext(); ){ Hodnota reťazca = iterator.next();
System.out.println(value); }
Metóda prechodu 2 for(String value : list){ System.out.println(value); }
Metóda prechodu 3 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); }
} } [/mw_shl_code]
Porovnávacia analýza troch prechodov:
Prechod metódou 1: Počas vykonávania sa vykoná uzamykanie dát, výkon bude o niečo horší, a ak chcete počas slučky odstrániť nejaký prvok, môžete použiť iba metódu it.esee.
Metóda 2: Prechod: Prvý typ zavolajte interne
Metóda 3: Prechod: Nie je interne uzamknutý, čo je najefektívnejšie, ale pri písaní multithreadingu by sa mal zohľadniť problém súbežných operácií
Dve hlavné implementácie rozhrania List, ArrayList a LinkedList, je možné prechádzať týmto spôsobom Porovnávacia analýza ArrayList vs LinkedList a) Základná vrstva ArrayList je implementovaná pomocou polí a základná vrstva LinkedList je implementovaná obojsmernými prepojenými zoznamami. b) Pri vkladaní alebo odstraňovaní je lepšie použiť LinkedList. c) Pri vykonávaní vyhľadávacej operácie je lepšie použiť ArrayList.
Povedané na rovinu, ide o sekvenčné a reťazové úložisko v dátovej štruktúre
|