Java Yineleyici
Java Yineleyici
An , ArrayList
ve HashSetIterator
gibi koleksiyonlar arasında döngü yapmak için kullanılabilen bir nesnedir . "Yineleyici" olarak adlandırılır, çünkü "yineleme" döngü için teknik terimdir.
Bir Yineleyici kullanmak için onu java.util
paketten içe aktarmalısınız.
Yineleyici Alma
Yöntem , herhangi bir koleksiyon iterator()
için almak için kullanılabilir :Iterator
Örnek
// 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());
}
}
Bir Koleksiyonda Döngü Yapmak
Bir koleksiyonda döngü yapmak için aşağıdakilerin hasNext()
ve next()
yöntemlerini kullanın Iterator
:
Örnek
while(it.hasNext()) {
System.out.println(it.next());
}
Koleksiyondan Öğeleri Kaldırma
Yineleyiciler, döngü içinde oldukları koleksiyonları kolayca değiştirmek için tasarlanmıştır. Yöntem remove()
, döngü sırasında bir koleksiyondaki öğeleri kaldırabilir.
Örnek
Bir koleksiyondan 10'dan küçük sayıları kaldırmak için bir yineleyici kullanın:
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);
}
}
Not: Bir for döngüsü veya for-each döngüsü kullanarak öğeleri kaldırmaya çalışmak , kodun döngüye girmeye çalıştığı sırada koleksiyonun boyutunu değiştirmesi nedeniyle düzgün çalışmayacaktır.