Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 13604|Ответ: 0

[JavaSE] Обход коллекции списков в Java и сравнительный анализ двух классов реализации

[Скопировать ссылку]
Опубликовано 04.01.2015 13:29:38 | | |
[mw_shl_code=java,true]пакет com.sort;  
  
import java.util.ArrayList;  
import java.util.Iterator;  
import java.util.List;  
  
/**
* Три типа пересечения по списку
* @author Владелец
*
*/  
публичный класс ListTest {  
  
    public static void main(String[] args) {  
         
        <String> List list = новый <String>ArrayList();  
         
        list.add("a");  
        list.add("b");  
        list.add("c");  
        list.add("c"); Можно добавлять дублирующие данные  
         
        Метод перемещения 1  
        for(<String>итератор = list.iterator(); iterator.hasNext(); ){  
            String value = iterator.next();  
              
            System.out.println(value);  
        }  
         
        Метод обхода 2  
        for(String value : list){  
            System.out.println(value);  
        }  
         
        Метод обхода 3  
        for(int i=0; i<list.size(); i++){  
            System.out.println(list.get(i));  
        }  
         
    }  
} [/mw_shl_code]


Сравнительный анализ трёх переходов:

Метод 1 обхода:

Во время выполнения выполняется блокировка данных, производительность будет немного хуже, и если вы хотите удалить элемент во время цикла, можно вызвать только метод it.delete.   

Метод 2 Обход:

Вызовите первый тип внутри

Метод 3: Перемещение:

Она не заблокирована внутренне, что является наиболее эффективным, но при записи многопоточности следует учитывать проблему параллельных операций

Две основные реализации интерфейса List — ArrayList и LinkedList — можно пройти таким образом

Сравнительный анализ ArrayList и LinkedList
a) Базовый слой ArrayList реализуется с помощью массивов, а базовый слой LinkedList — с двунаправленными связанными списками.
b) При выполнении операций вставки или удаления лучше использовать LinkedList.
c) При выполнении поисковой операции лучше использовать ArrayList.


Говоря прямо, это последовательное и цепочное хранение в структуре данных




Предыдущий:Использование тега jstl &lt;c:if&gt;
Следующий:java:list和set集合的遍历
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com