tata bahasa
Copy kode kodenya sebagai berikut:
for (Nama objek objek : preArrayList(daftar objek Objek)) {}
Contoh
Copy kode kodenya sebagai berikut:
paket com.kuaff.jdk5;
import java.util.*;
import java.util.Koleksi;
Foreach kelas publik
{
Koleksi pribadi c = null;
pribadi String[] belle = String baru[4];
publikForeach()
{
primadona[0] = "Xi Shi";
primadona[1] = "Wang Zhaojun";
primadona[2] = "Diao Chan";
primadona[3] = "Yang Guifei";
c = Array.asList(belle);
}
teskoleksi kekosongan publik()
{
untuk (String b : c)
{
System.out.println("Orang yang pernah mengalami cuaca yang tiada taranya:" + b);
}
}
kekosongan publik testArray()
{
untuk (String b : belle)
{
System.out.println("Masa lalu meninggalkan nama dalam sejarah:" + b);
}
}
public static void main(String[] args)
{
Foreach masing-masing = new Foreach();
masing-masing.testCollection();
masing-masing.testArray();
}
}
Baik untuk tipe koleksi maupun tipe array, kita dapat mengaksesnya melalui sintaks foreach. Pada contoh di atas, kami biasa mengakses array secara berurutan, yang cukup merepotkan:
Copy kode kodenya sebagai berikut:
for (int i = 0; i < belle.panjang; i++)
{
String b = primadona[i];
System.out.println("Orang yang pernah mengalami cuaca yang tiada taranya:" + b);
}
Sekarang yang diperlukan hanyalah pernyataan sederhana berikut:
Copy kode kodenya sebagai berikut:
untuk (String b : belle)
{
System.out.println("Masa lalu meninggalkan nama dalam sejarah:" + b);
}
Efek mengakses koleksi lebih jelas. Sebelumnya kami mengakses kode koleksi:
Copy kode kodenya sebagai berikut:
untuk (Iterator itu = c.iterator(); itu.hasNext();)
{
Nama string = (String) it.next();
System.out.println("Orang yang pernah mengalami cuaca tiada tara:" + nama);
}
Sekarang kita hanya perlu pernyataan berikut:
Copy kode kodenya sebagai berikut:
untuk (String b : c)
{
System.out.println("Orang yang pernah mengalami cuaca yang tiada taranya:" + b);
}
Foreach tidak mahakuasa, ia juga memiliki kekurangan sebagai berikut:
Pada kode sebelumnya, kita dapat melakukan operasi penghapusan melalui Iterator.
Copy kode kodenya sebagai berikut:
untuk (Iterator itu = c.iterator(); itu.hasNext();)
{
hapus()
}
Namun pada foreach versi saat ini, kita tidak bisa menghapus objek yang terdapat pada koleksi. Anda juga tidak dapat mengganti objek.
Selain itu, Anda tidak dapat mencari beberapa koleksi secara paralel. Oleh karena itu, ketika kita menulis kode, kita harus menggunakannya sesuai dengan situasi.