Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 13604|Odpověď: 0

[JavaSE] Procházení sbírky seznamů v Javě a komparativní analýza dvou implementačních tříd

[Kopírovat odkaz]
Zveřejněno 04.01.2015 13:29:38 | | |
[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




Předchozí:Použití jstl tagu &lt;c:if&gt;
Další:java:list和set集合的遍历
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com