Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 13604|Odpowiedź: 0

[JavaSE] Przejście kolekcji List w Javie i analiza porównawcza dwóch klas implementacji

[Skopiuj link]
Opublikowano 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;  
  
/**
* Trzy rodzaje przejścia przez listę
* @author Właściciel
*
*/  
public class ListTest {  
  
    public static void main(String[] args) {  
         
        List<String> List = nowy ArrayList<String>();  
         
        list.add("a");  
        list.add("b");  
        list.add("c");  
        list.add("c"); Można dodać zduplikowane dane  
         
        Metoda przechodzenia 1  
        for(<String>Iterator iterator = list.iterator(); iterator.hasNext(); ){  
            Wartość ciągu = iterator.next();  
              
            System.out.println(value);  
        }  
         
        Metoda przechodzenia 2  
        for(wartość ciągu : list){  
            System.out.println(value);  
        }  
         
        Metoda przechodzenia 3  
        for(int i=0; i<list.size(); i++){  
            System.out.println(list.get(i));  
        }  
         
    }  
} [/mw_shl_code]


Analiza porównawcza trzech przejść:

Metoda 1 przejścia:

Podczas wykonywania wykonywane jest blokowanie danych, wydajność będzie nieco gorsza, a jeśli chcesz usunąć element podczas pętli, możesz wywołać tylko metodę it.depre.   

Metoda 2 Przemieszczania się:

Wewnętrznie wywołaj pierwszy typ

Metoda 3: Przemieszczanie się:

Nie jest zablokowany wewnętrznie, co jest najefektywniejsze, ale przy zapisie wielowątkowania należy uwzględnić problem operacji współbieżnych

Dwie główne implementacje interfejsu List, ArrayList i LinkedList, można przejrzeć w ten sposób

Analiza porównawcza ArrayList vs LinkedList
a) Warstwa podstawowa ArrayList jest zaimplementowana za pomocą tablic, a warstwa podstawowa LinkedList za pomocą dwukierunkowych list powiązanych.
b) Podczas wykonywania operacji wstawiania lub usuwania lepiej jest używać LinkedList.
c) Podczas wykonywania operacji wyszukiwania lepiej jest użyć ArrayList.


Mówiąc wprost, jest to sekwencyjne przechowywanie i łańcuchowe przechowywanie w strukturze danych




Poprzedni:Użycie tagu jstl &lt;c:if&gt;
Następny:java:list和set集合的遍历
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com