ForEach dengan Multiple List
Sebelumnya kita sudah membahas tentang cara menggunkana ForEach
pada Java 8, tapi bagaimana kalau kondisinya kita ingin melakukan pengulangan berdasarkan 2 List?
sebenarnya ada banyak cara tapi kita akan membahas tentang foreach, sekaligus saya akan membandingkannya dengan beberapa cara lain.
Cara 1 :
List<String> namaMahasiswa = new ArrayList<>();
namaMahasiswa.add("Akyong");
namaMahasiswa.add("Bobby");
namaMahasiswa.add("Jeni");
namaMahasiswa.add("Johan");
List<Integer> usiaMahasiswa = new ArrayList<>();
usiaMahasiswa.add(20);
usiaMahasiswa.add(22);
usiaMahasiswa.add(27);
usiaMahasiswa.add(30);
for(int a=0;a<namaMahasiswa.size();a++){
System.out.println("Nama Mahasiswa: "+namaMahasiswa.get(a)+", Usia:"+usiaMahasiswa.get(a));
}
cara ini sudah tidak asing lagi bagi kita semua, namun cara ini sudah ada sejak lama.
Cara 2 :
int index = 0;
for(String nama: namaMahasiswa){
System.out.println("Nama Mahasiswa: "+nama+", Usia: "+usiaMahasiswa.get(index));
index++;
}
Cara 3 :
IntStream.range(0, namaMahasiswa.size()).forEach(idx->{
System.out.println("Nama Mahasiswa: "+namaMahasiswa.get(idx)+", Usia: "+usiaMahasiswa.get(idx));
});
Ketiga cara diatas sama-sama bisa digunakan untuk multiple list namun jika anda menggunakan Java 8 kebawah maka anda tidak bisa menggunakan cara ketiga. Cara ini saya menggunakan IntStream dengan range dari 0~ukuran namaMahasiswa
.
Download/lihat projectnya di https://github.com/akyong/ForEach---Mulitiple-List