Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 13604|Vastaus: 0

[JavaSE] Listakokoelman läpikäynti Javassa ja kahden toteutusluokan vertaileva analyysi

[Kopioi linkki]
Julkaistu 4.1.2015 13.29.38 | | |
[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




Edellinen:Jstl-tunnisteen käyttö &lt;c:if&gt;
Seuraava:java:list和set集合的遍历
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com