Yineleyiciler ve Gelişmiş for
Koleksiyonlarda Iterator ve gelişmiş for ile dolaşın. Dolaşma sırasında güvenli silmeyi ve yaygın hataları öğrenin.
Yineleyiciler ve Gelişmiş for, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 3 dersten oluşur.
Genel bakış
Yineleyici, bir koleksiyonda adım adım ilerlemek için ayrıntılı denetim sağlar. Geliştirilmiş for döngüsü, öğeleri okumak için daha kısa ve temizdir. Geçiş sırasında güvenli biçimde kaldırma yapmanız gerektiğinde Yineleyiciyi kullanın.
Yineleyici ve for döngüsü karşılaştırması
- Yineleyici: öğeleri kaldırabileceğiniz veya ayrıntılı denetime ihtiyaç duyduğunuz durumlarda kullanın.
- Geliştirilmiş for döngüsü: salt okunur döngüler için en uygunudur.
- Geliştirilmiş for döngüsü içinde koleksiyonu hiçbir zaman yapısal olarak değiştirmeyin.
Kod: temel yineleyici
Yineleyici, hasNext() ve next() kullanır. Her next() çağrısı ilerler ve öğeyi döndürür.
public class Main {
public static void main(String[] args) {
java.util.List<String> names = new java.util.ArrayList<>();
names.add("Ada"); names.add("Bob"); names.add("Cyd");
java.util.Iterator<String> it = names.iterator();
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
}
}
Sakınca
Sakınca: Geliştirilmiş for döngüsü içinde doğrudan kaldırma yapmak genellikle ConcurrentModificationException fırlatır. Güvenli yapısal değişiklikler için Yineleyiciyi kullanın.
Kod: güvenli kaldırma
Güvenli kaldırma: Eşleşme bulunduğunda next() çağrısının hemen ardından Yineleyici üzerinde remove() çağırın.
public class Main {
public static void main(String[] args) {
java.util.List<String> words = new java.util.ArrayList<>();
words.add("to"); words.add("be"); words.add("or"); words.add("not");
java.util.Iterator<String> it = words.iterator();
while (it.hasNext()) {
String w = it.next();
if (w.length() <= 2) {
it.remove(); // safe removal
}
}
System.out.println(words); // [not]
}
}
Kod: geliştirilmiş for/forEach
Geliştirilmiş for döngüsü okuma işlemleri için temizdir. Lambda ifadesiyle forEach de kısa bir başka yazım biçimidir (Java 8 ve sonrası).
public class Main {
public static void main(String[] args) {
java.util.Set<String> tags = new java.util.HashSet<>();
tags.add("java"); tags.add("collections"); tags.add("oop");
// enhanced for: read-only
for (String t : tags) {
System.out.print("[" + t + "]");
}
System.out.println();
// Java 8+ forEach
tags.forEach(t -> System.out.println("tag=" + t));
}
}
Yineleyiciyle kaldırma kontrolü
Hızlı kontrol: Bir Liste üzerinde yineleme yaparken öğeleri güvenli biçimde nasıl kaldırırsınız?
Özet
Özet: Basit okumalar için geliştirilmiş for döngüsünü kullanın. Geçiş sırasında öğeleri kaldırmanız gerektiğinde Yineleyiciyi kullanın. Bu, çalışma zamanı hatalarını önler.
Sıkça Sorulan Sorular
“Yineleyiciler ve Gelişmiş for” dersi ücretsiz mi?
Evet — “Yineleyiciler ve Gelişmiş for” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 3 dersten oluşur.
“Yineleyiciler ve Gelişmiş for” dersinde ne öğreneceğim?
Koleksiyonlarda Iterator ve gelişmiş for ile dolaşın. Dolaşma sırasında güvenli silmeyi ve yaygın hataları öğrenin. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.
“Yineleyiciler ve Gelişmiş for” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Liste ve Küme Genel Bakışı
- Yineleyiciler ve Gelişmiş for
- Koleksiyon Araçları