Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 13604|Відповідь: 0

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

[Копіювати посилання]
Опубліковано 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;  
  
/**
* Три типи пересування у списку
* @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