Lelaran Atas Senarai dalam Java: Panduan Komprehensif
Apabila bekerja dengan koleksi Java, memahami pelbagai kaedah untuk mengulang senarai adalah penting. Berikut ialah cara yang paling biasa digunakan, bersama dengan kelebihan dan potensi kelemahannya:
Asas untuk Gelung
for (int i = 0; i < list.size(); i++) { E element = list.get(i); }
Kaedah ini menyediakan akses terus kepada indeks elemen, menjadikannya sesuai untuk operasi berasaskan indeks. Walau bagaimanapun, ia tidak disyorkan untuk lelaran yang cekap kerana potensi overhed panggilan get() untuk setiap elemen.
Dipertingkatkan untuk Gelung
for (E element : list) { // Element operations }
Pintasan sintaksis ini menggunakan iterator secara dalaman, menyediakan cara yang lebih ringkas dan cekap untuk mengulung elemen senarai. Ia adalah pilihan pilihan untuk lelaran yang mudah.
Iterator
for (Iterator<E> iter = list.iterator(); iter.hasNext(); ) { E element = iter.next(); }
Antara muka Iterator membenarkan lelaran dan menyediakan kaedah remove() untuk memadamkan elemen semasa lelaran. Ia menawarkan prestasi yang lebih rendah sedikit daripada gelung yang dipertingkatkan, tetapi ia juga membenarkan penyingkiran item dalam gelung.
ListIterator
for (ListIterator<E> iter = list.listIterator(); iter.hasNext(); ) { E element = iter.next(); }
Serupa dengan Iterator, the Antara muka ListIterator menyediakan fungsi tambahan, termasuk add(), remove(), dan set(), yang membolehkan untuk mengubah suai senarai semasa lelaran.
Java Fungsional
Dalam Java 8, strim boleh digunakan untuk transformasi berfungsi:
list.stream().map(e -> e + 1);
Pendekatan ini membenarkan penggunaan transformasi berfungsi pada setiap elemen dalam strim, tetapi ia tidak memberikan akses terus kepada indeks elemen atau senarai sendiri.
Iterable.forEach, Stream.forEach, dsb.
Java 8 memperkenalkan kaedah seperti forEach yang mengulangi koleksi dan menggunakan operasi yang disediakan untuk setiap elemen:
Arrays.asList(1, 2, 3, 4).forEach(System.out::println);
Kaedah ini menyediakan abstraksi peringkat tinggi untuk lelaran, tetapi kaedah ini mungkin tidak cekap atau fleksibel seperti kaedah lain yang disebutkan.
Atas ialah kandungan terperinci Apakah Cara Terbaik untuk Mengulangi Senarai di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!