Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 13604|Jawab: 0

[JavaSE] Traversal koleksi List di java dan analisis komparatif dari dua kelas implementasi

[Salin tautan]
Diposting pada 04/01/2015 13.29.38 | | |
[mw_shl_code=java,true]package com.sort;  
  
impor java.util.ArrayList;  
impor java.util.Iterator;  
impor java.util.List;  
  
/**
* Tiga jenis traversal daftar
* Pemilik @author
*
*/  
kelas publik ListTest {  
  
    public static void main(String[] args) {  
         
        <String> Daftar daftar = ArrayList baru<String>();  
         
        list.add("a");  
        daftar.tambahkan("b");  
        daftar.tambahkan("c");  
        daftar.tambahkan("c"); Data duplikat dapat ditambahkan  
         
        Metode traversal 1  
        for(<String>Iterator iterator = list.iterator(); iterator.hasNext(); ){  
            Nilai string = iterator.next();  
              
            System.out.println(nilai);  
        }  
         
        Metode traversal 2  
        for(Nilai string : list){  
            System.out.println(nilai);  
        }  
         
        Metode traversal 3  
        for(int i=0; i<list.size(); i++){  
            Sistem.keluar.println(daftar.get(i));  
        }  
         
    }  
} [/mw_shl_code]


Analisis komparatif dari tiga traversal:

Metode 1 traversal:

Selama eksekusi, penguncian data akan dilakukan, kinerjanya akan sedikit lebih buruk, dan jika Anda ingin menghapus elemen selama loop, Anda hanya dapat memanggil metode it.reate.   

Metode 2 Traversal:

Panggil jenis pertama secara internal

Metode 3: Traversal:

Itu tidak dikunci secara internal, yang paling efisien, tetapi saat menulis multithreading, masalah operasi bersamaan harus dipertimbangkan

Dua implementasi utama antarmuka List, ArrayList dan LinkedList, dapat dilalui dengan cara ini

Analisis komparatif ArrayList vs LinkedList
a) Lapisan yang mendasari ArrayList diimplementasikan dengan array, dan lapisan yang mendasari LinkedList diimplementasikan dengan daftar tertaut dua arah.
b) Saat melakukan operasi sisipan atau hapus, lebih baik menggunakan LinkedList.
c) Saat melakukan operasi pencarian, lebih baik menggunakan ArrayList.


Terus terang, ini adalah penyimpanan berurutan dan penyimpanan rantai dalam struktur data




Mantan:Penggunaan tag jstl &lt;c:if&gt;
Depan:java:list和set集合的遍历
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com