Iterator Jawa
Iterator Jawa
An Iterator
adalah objek yang dapat digunakan untuk mengulang koleksi, seperti ArrayList
dan HashSet . Disebut "iterator" karena "iterasi" adalah istilah teknis untuk perulangan.
Untuk menggunakan Iterator, Anda harus mengimpornya dari java.util
paket.
Mendapatkan Iterator
Metode iterator()
ini dapat digunakan untuk mendapatkan an Iterator
untuk koleksi apa pun:
Contoh
// Import the ArrayList class and the Iterator class
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
// Make a collection
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
// Get the iterator
Iterator<String> it = cars.iterator();
// Print the first item
System.out.println(it.next());
}
}
Perulangan Melalui Koleksi
Untuk mengulang koleksi, gunakan metode hasNext()
and next()
dari Iterator
:
Contoh
while(it.hasNext()) {
System.out.println(it.next());
}
Menghapus Item dari Koleksi
Iterator dirancang untuk dengan mudah mengubah koleksi yang mereka lewati. Metode remove()
ini dapat menghapus item dari koleksi saat mengulang.
Contoh
Gunakan iterator untuk menghapus angka kurang dari 10 dari koleksi:
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(12);
numbers.add(8);
numbers.add(2);
numbers.add(23);
Iterator<Integer> it = numbers.iterator();
while(it.hasNext()) {
Integer i = it.next();
if(i < 10) {
it.remove();
}
}
System.out.println(numbers);
}
}
Catatan: Mencoba menghapus item menggunakan for loop atau for-each loop tidak akan berfungsi dengan benar karena koleksi berubah ukuran pada saat yang sama ketika kode mencoba mengulang.