| --List: Elemen-elemen dipesan (keluar saat disimpan, dan pesanan tidak akan kacau). sudut tanda 2) Karena set ini sistem memiliki indeks,
|- ArrayList: Struktur data yang mendasarinya menggunakan struktur array (panjang array adalah 50% lebih lama dari variabel) (fiturnya adalah bahwa kueri sangat cepat, tetapi penambahan dan penghapusannya lambat) utas tidak disinkronkan
|- LinkedList: Struktur data yang mendasarinya adalah struktur daftar yang ditautkan (karakteristiknya lebih lambat dan penambahan dan penghapusan yang lebih cepat)
|- Vektor: Lapisan yang mendasarinya adalah sinkronisasi utas struktur data array (panjang array 100% diperpanjang dengan variabel) (baik kueri dan penambahan dan penghapusan sangat lambat, dan digantikan oleh arraylist)
Daftar: Metode unik.
meningkatkan
Salinan kode adalah sebagai berikut:
Boolean Add (Ind Index, E Elemen)
Boolean Addall (Indeks, Koleksi)
Salinan kode adalah sebagai berikut:
public static void list_add () {
ArrayList A1 = ArrayList baru ();
a1.add ("java");
a1.add ("php"); // elemen dalam koleksi daftar dapat diulangi
a1.add (". net");
System.out.println ("Koleksi Asli:"+A1);
a1.add (1, "flash");
a1.add (0, "ps");
System.out.println (A1);
ArrayList A2 = ArrayList baru ();
A2.Add ("JavaScript");
a2.add ("3dmax");
a2.add ("IBM");
a1.addall (0, a2);
System.out.println (A1);
}
Hapus elemen di lokasi yang ditentukan
Salinan kode adalah sebagai berikut:
Boolean Remahkan (indeks int)
Salinan kode adalah sebagai berikut:
public static void list_remove () {
ArrayList A1 = ArrayList baru ();
a1.add ("JavaScript");
a1.add ("php");
a1.add ("flash");
System.out.println ("Koleksi Asli:"+A1);
a1.remove (0);
System.out.println (A1);
}
Ubah elemen set sudut yang ditentukan (indeks int, elemen e) Elemen yang dikembalikan dimodifikasi
Salinan kode adalah sebagai berikut:
public static void list_set () {
ArrayList A1 = ArrayList baru ();
a1.add ("JavaScript");
a1.add ("php");
a1.add (". net");
System.out.println ("Koleksi Asli:"+A1);
a1.set (1, "falsh");
System.out.println (A1);
}
memeriksa
Salinan kode adalah sebagai berikut:
dapatkan (indeks int) mengembalikan elemen pada posisi yang ditentukan dalam daftar
Sublist (int fromIndex, int toIndex) mengembalikan beberapa elemen antara dari dariindex (termasuk) dan toindex (tidak termasuk) yang ditentukan dalam daftar.
Salinan kode adalah sebagai berikut:
public static void list_get () {
ArrayList A1 = ArrayList baru ();
a1.add ("java");
a1.add ("php");
a1.add ("flash");
System.out.println (a1.get (0)); // Dapatkan elemen dari titik sudut yang ditentukan.
System.out.println (a1.sublist (1, 3)); // Dapatkan elemen di bagian tertentu dari koleksi, termasuk kepala tetapi tidak ekor
}
Daftar Iterator Koleksi Khusus: ListIterator (adalah subinterface dari iterator)
Melihat:
Selama iterasi, elemen dalam koleksi tidak dapat dioperasikan melalui metode objek pengumpulan
Karena pengecualian Exception ConcurrentModification (pengecualian bersamaan) akan terjadi
Oleh karena itu, saat iterasi, Anda hanya dapat menggunakan metode Iterator untuk membuat elemen
Karena metode Iterator terbatas, ia hanya dapat menilai, menghapus, dan menghapus elemen.
Jika Anda ingin operasi lain seperti menambahkan, memodifikasi, dll., Anda perlu menggunakan sub-antarmuka, Listiterator
Antarmuka ini hanya dapat diperoleh melalui metode Listiterator dari koleksi daftar
Salinan kode adalah sebagai berikut:
ListIteratordemo kelas publik {
public static void main (string [] args) {
ArrayList A1 = ArrayList baru ();
a1.add ("java01");
a1.add ("java02");
a1.add ("java03");
a1.add ("java04");
System.out.println ("Koleksi asli adalah:"+A1);
/*Mempersiapkan untuk menambahkan atau menghapus elemen selama proses iterasi
Iterator it = al.iterator ();
while (it.hasnext ()) {
Objek obj = it.next ();
if (obj.equals ("java02"))
//al.add("java008");///pengecualian bersamaan akan terjadi karena iterator mengoperasikan koleksi dan tidak dapat lagi menggunakan metode pengumpulan untuk mengoperasikan koleksi.
it.remove (); // hapus referensi java02 dari koleksi
System.out.println ("obj:"+obj);
}
*/
// Hanya daftar daftar yang memiliki fungsi untuk menambah, menghapus, memodifikasi, dan memeriksa, karena hanya daftar yang memiliki indeks
ListIterator li = a1.listiterator ();
while (li.hasnext ()) {
if (li.next (). Equals ("java02"))
//li.add("java009 ");
li.set ("java006");
}
}
}
Vektor: Pencacahan adalah cara unik untuk mengambil vektor, yang sangat mirip dengan iterator (pada kenyataannya, enumerasi dan iterasi adalah sama) dan telah digantikan oleh iterator.
Salinan kode adalah sebagai berikut:
VectorDemo kelas publik {
public static void main (string [] args) {
Vektor v = vektor baru ();
v.add ("java01");
v.add ("java02");
v.add ("java03");
v.add ("java04");
untuk (enumeration en = v.elements (); en.hasmoreElements ();) {
System.out.println (en.nextelement ());
}
}
}
LinkedList:
Metode Khusus:
addFirst ();
getFirst (); Jika tidak ada elemen dalam koleksi, NosuchelementException akan muncul
hapus (); Jika tidak ada elemen dalam koleksi, NosuchelementException akan muncul
Pendekatan alternatif muncul di JDK1.6
wortelFirst ();
peekfirst (); Jika tidak ada elemen dalam koleksi, nol akan dikembalikan
Pollfirst (); Jika tidak ada elemen dalam koleksi, nol akan dikembalikan
Salinan kode adalah sebagai berikut:
kelas publik LinkedListDemo {
public static void main (string [] args) {
LinkedList Link = new LinkedList ();
link.add ("java01");
link.add ("java02");
link.add ("java03");
link.add ("java04");
while (! link.isempty ()) {
System.out.println ((link.removelast ()));
}
}
}