[mw_shl_code=java,true]package com.sort;
tuo java.util.ArrayList; tuo java.util.Iterator; tuo java.util.list;
/** * Kolme listan kulkutyyppiä * @author Omistaja
* */ public class ListTest {
public static void main(String[] args) {
List<String> list = uusi ArrayList<String>();
lista.add("a"); list.add("b"); list.add("c"); list.add("c"); Päällekkäiset tiedot voidaan lisätä
Kulkumenetelmä 1 for(Iterator<String> iterator = list.iterator(); iterator.hasNext(); ){ Merkkijonon arvo = iterator.next();
System.out.println(arvo); }
Kulkumenetelmä 2 for(Merkkijonon arvo : list){ System.out.println(arvo); }
Kulkumenetelmä 3 for(int i=0; i<list.size(); i++){ system.out.println(list.get(i)); }
} } [/mw_shl_code]
Kolmen läpikäynnin vertaileva analyysi:
Menetelmä 1 läpikulku: Suorituksen aikana datan lukitus tapahtuu, suorituskyky heikkenee hieman, ja jos haluat poistaa elementin silmukan aikana, voit kutsua vain it.remove -menetelmää.
Menetelmä 2 Kulku: Kutsu ensimmäinen tyyppi sisäisesti
Menetelmä 3: Kulku: Se ei ole sisäisesti lukittu, mikä on tehokkainta, mutta monisäikeisyyttä kirjoittaessa tulisi ottaa huomioon samanaikaisten operaatioiden ongelma
Listarajapinnan kaksi päätoteutusta, ArrayList ja LinkedList, voidaan käyttää tällä tavalla ArrayListin ja LinkedListin vertaileva analyysi a) ArrayListin taustalla oleva kerros toteutetaan taulukoilla, ja LinkedListin taustalla oleva kerros toteutetaan kaksisuuntaisilla linkitetyillä listoilla. b) Insert- tai poistotoimintoja tehdessä on parempi käyttää LinkedListaa. c) Hakutoimintoa tehdessä on parempi käyttää ArrayListia.
Suoraan sanottuna se on peräkkäistä tallennusta ja ketjutallennusta tietorakenteessa
|