Antara muka Senarai mewarisi antara muka Koleksi dan merupakan koleksi satu lajur dibenarkan dalam koleksi Senarai Semua elemen disimpan dalam cara linear. Dalam program ini, unsur-unsur yang ditentukan dalam koleksi diakses melalui indeks Unsur-unsur disimpan secara berurutan, iaitu, susunan unsur-unsur disimpan adalah konsisten dengan susunan ia diambil.
ArrayList ialah kelas pelaksanaan antara muka Senarai, yang merangkum objek tatasusunan panjang berubah-ubah di dalam ArrayList.
package 集合类; import java.util.ArrayList; import java.util.Arrays; public class FengZhuanglei { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("stu1"); list.add("stu2"); list.add("stu3"); list.add("stu4"); System.out.println("集合的长度:"+list.size()); System.out.println("第二个元素是:"+list.get(1)); } }
Hasil berjalan
Ia boleh dilihat daripada hasil larian bahawa ArrayList dan indeks tatasusunan kedua-duanya bermula dari 0, kerana lapisan bawah Koleksi ArrayList menggunakan Arrays digunakan untuk menyimpan elemen Apabila menambah atau memadam elemen pada kedudukan yang ditentukan, tatasusunan baharu akan dibuat, yang agak tidak cekap, jadi ia tidak sesuai untuk sejumlah besar penambahan dan pemadaman boleh didapati melalui indeks, yang juga meningkatkan Kecekapan mencari elemen.
Untuk menyelesaikan masalah kecekapan rendah dalam menambah dan memadam elemen dalam koleksi ArrayList, koleksi LinkList diperkenalkan Senarai terpaut pekeliling dua hala dikekalkan di dalam Koleksi LinkList. Setiap elemen senarai terpaut Mereka semua menggunakan rujukan untuk mengingati elemen sebelumnya dan seterusnya, jadi semua elemen boleh disambungkan Apabila memasukkan elemen baharu, anda hanya perlu mengubah suai hubungan rujukan antara elemen, yang boleh meningkat bilangan elemen. Kecekapan operasi tambah dan padam.
package 集合类; import java.util.LinkedList; public class LianBiao { public static void main(String[] args) { LinkedList link =new LinkedList(); link.add("stu1"); link.add("stu2"); link.add("stu3"); link.add("stu4"); //打印集合中的元素 System.out.println(link.toString()); //在集合中插入元素 link.add(3,"Student"); //在集合的第一个位置插入元素 link.addFirst("李龙"); System.out.println(link); //取出集合中的第一个元素 System.out.println(link.getFirst()); //删除集合中的元素 link.remove(3); //删除集合中的第一个元素 link.removeFirst(); System.out.println(link); } }
Hasil berjalan
Iterator digunakan terutamanya untuk melintasi elemen dalam Pengumpulan juga dipanggil iterator .
package 集合类; import java.util.ArrayList; import java.util.Iterator; public class DieDai { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("好好学习"); list.add("做一个优秀的共产主义接班人"); list.add("为人民服务"); list.add("做一个对社会有用的人"); Iterator it= list.iterator(); //判断ArrayList是否存在下一个元素 while(it.hasNext()){ Object obj=it.next(); System.out.println(obj); } } }
Keputusan yang dijalankan
Semasa proses traversal Iterator, mula-mula tentukan sama ada terdapat elemen lain dalam set melalui kaedah hasNext() , jika elemen wujud, keluarkan elemen melalui kaedah next().
Tingkatkan gelung foreach tidak perlu mendapatkan panjang gelung, dan ia juga tidak perlu mengakses elemen dalam gelung melalui indeks secara automatik melintasi setiap elemen dalam gelung.
package 集合类; import java.util.ArrayList; public class FE { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("hello"); list.add("world"); for(Object obj: list){ System.out.println(obj); } } }
Hasil jalankan
Dapat dilihat bahawa gelung yang dipertingkatkan sangat mudah dalam proses merentasi koleksi keadaan dan tiada lelaran Bilangan gelung ditentukan oleh bilangan elemen dalam gelung Setiap kali gelung yang dipertingkatkan mengingati elemen gelung semasa melalui pembolehubah, dengan itu mencetak elemen dalam set masing-masing.
Atas ialah kandungan terperinci Cara menggunakan antara muka Senarai Java, antara muka Iterator dan gelung foreach. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!