[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
|