Java'da bir Yineleyici Java imleçlerinden biridir. Java Yineleyici Java nesne bileşenleri koleksiyonunun tamamını tek tek yinelemek için uygulanan bir arayüzdür. Java 1.2 Koleksiyon çerçevesinden bu yana Java programlama dilinde kullanımı ücretsizdir. Java.util paketine aittir.
Java Iterator, Java 1.2'de tanıtılmış olsa da, hala Koleksiyon nesnesinin öğeleri arasında geçiş yapmak için mevcut en eski araç değildir. Java programlama dilindeki en eski Yineleyici, Enumerator'dan önceki Yineleyicidir. Java Iterator arayüzü, başlangıçta ArrayLists gibi bazı erişilebilir koleksiyonlar üzerinde geçiş yapmak için uygulanan numaralandırıcı yineleyicinin yerini alır.
Java Yineleyici aynı zamanda Java Yineleyicisi olarak da bilinir. evrensel imleç Koleksiyon çerçevesinin tüm sınıfları için uygun olduğundan Java'nın. Java Iterator ayrıca READ ve REMOVE gibi işlemlere de yardımcı olur. Java Iterator arayüzünü numaralandırma iteratör arayüzü ile karşılaştırdığımızda Java Iterator'da bulunan metotların adlarının daha kesin ve kullanımı kolay olduğunu söyleyebiliriz.
Java Iterator'ın Avantajları
Java'da yineleyici, sayısız avantajı nedeniyle çok yaygın hale geldi. Java Iterator'ın avantajları şu şekilde verilmiştir:
- Kullanıcı bu yineleyicileri Koleksiyon çerçevesinin herhangi bir sınıfına uygulayabilir.
- Java Iterator'da hem okuma hem de kaldırma işlemlerini kullanabiliriz.
- Bir kullanıcı for döngüsüyle çalışıyorsa Koleksiyonu modernize edemez (ekleyebilir/kaldıramaz), oysa Java Iterator kullanıyorsa Koleksiyonu kolayca güncelleyebilir.
- Java Yineleyici, Koleksiyon API'sinin Evrensel İmleci olarak kabul edilir.
- Java Iterator'daki yöntem adları çok kolaydır ve kullanımı çok basittir.
Java Iterator'ın Dezavantajları
Sayısız avantajına rağmen Java Iterator'ın çeşitli dezavantajları da vardır. Java Iterator'ın dezavantajları aşağıda verilmiştir:
- Java Yineleyici yinelemeyi yalnızca ileri yönde korur. Basit bir deyişle, Java Yineleyici tek yönlü bir Yineleyicidir.
- Yeni bir bileşenin değiştirilmesi ve genişletilmesi Java Iterator tarafından onaylanmaz.
- CRUD İşlemlerinde Java Iterator, CREATE ve UPDATE gibi çeşitli işlemleri tutmaz.
- Spliterator ile karşılaştırıldığında, Java Iterator paralel modeldeki geçiş öğelerini desteklemez; bu da Java Iterator'ın yalnızca Sıralı yinelemeyi desteklediği anlamına gelir.
- Spliterator ile karşılaştırıldığında Java Iterator, toplu veri hacminde geçiş yapmak için daha güvenilir yürütmeyi desteklemez.
Java Yineleyici nasıl kullanılır?
Bir kullanıcının Java Iterator'ı kullanması gerektiğinde, üzerinden geçmek istediği nesnelerin koleksiyonundan Iterator arayüzünün bir örneğini oluşturması zorunludur. Bundan sonra, alınan Yineleyici, kullanıcının nesneler koleksiyonunun her bir öğesi üzerinden geçeceğinden emin olmak için temel koleksiyondaki bileşenlerin izini sürdürür.
Kullanıcı, bu koleksiyona giden bir Yineleyici üzerinden geçerken temel koleksiyonu değiştirirse, o zaman Yineleyici genellikle bunu kabul edecek ve kullanıcının bir sonraki bileşeni Yineleyiciden almaya çalıştığı bir sonraki seferde bir istisna atacaktır.
c++ dize bölünmesi
Java Yineleyici Yöntemleri
Aşağıdaki şekil Java Iterator arayüzünün sınıf diyagramını mükemmel bir şekilde göstermektedir. Toplamda dört yöntem içerir:
- hasNext()
- Sonraki()
- kaldırmak()
- forEachRemaining()
forEachRemaining() yöntem Java 8'e eklendi. Her yöntemi ayrıntılı olarak tartışalım.
Yinelemede daha fazla öğe kalmadıysa next() yöntemini çağırmaya gerek yoktur. Basit bir ifadeyle, yöntemin next() yönteminin çağrılıp çağrılmayacağına karar vermek için kullanıldığını söyleyebiliriz.
Java Yineleyici Örneği
Şimdi Java Iterator arayüzünün avantajlarını göstermek için bir Java programı çalıştırmanın zamanı geldi. Aşağıdaki kod şehir adlarından oluşan bir ArrayList oluşturur. Daha sonra ArrayList'in iterator () yöntemini uygulayarak bir yineleyici başlatıyoruz. Bundan sonra liste her bir öğeyi temsil edecek şekilde geçilir.
JavaIteratorExample.java
import java.io.*; import java.util.*; public class JavaIteratorExample { public static void main(String[] args) { ArrayList cityNames = new ArrayList(); cityNames.add('Delhi'); cityNames.add('Mumbai'); cityNames.add('Kolkata'); cityNames.add('Chandigarh'); cityNames.add('Noida'); // Iterator to iterate the cityNames Iterator iterator = cityNames.iterator(); System.out.println('CityNames elements : '); while (iterator.hasNext()) System.out.print(iterator.next() + ' '); System.out.println(); } }
Çıktı:
CityNames elements: Delhi Mumbai Kolkata Chandigarh Noida
Hatırlanacak noktalar
- Java Iterator, Java 1.2 Koleksiyonu çerçevesinde Java Programlama diline eklenen bir arayüzdür. Java.util paketine aittir.
- Koleksiyon çerçevesinin nesneleri arasında geçiş yapmak için uygulanan Java İmleçlerinden biridir.
- Java Iterator, koleksiyon nesnesinin bileşenlerini birer birer yinelemek için kullanılır.
- Java Yineleyici, Koleksiyon çerçevesinin tüm sınıfları için uygun olduğundan Java'nın Evrensel imleci olarak da bilinir.
- Java Iterator ayrıca READ ve REMOVE gibi işlemleri de destekler.
- Iterator sınıfının yöntem adları, Enumeration Iterator'ın yöntem adlarına kıyasla çok basit ve kullanımı kolaydır.