Yineleyicilere Giriş

Java'da Girdi/Çıktı ve Akışlar

Alex Liu

Software Development Engineer

Koleksiyonlarla çalışmak

  • Video boyunca HashSet örneği
import java.util.HashSet;

public class SampleHashSetData { public static void main(String[] args) { HashSet<String> fruits = new HashSet<>();
fruits.add("Apple"); fruits.add("Banana");
} }
{Apple, Banana}
Java'da Girdi/Çıktı ve Akışlar

For-Each döngüsünü kullanma

  • For-Each döngüsü
    • Biçim: for (type x: collection){}
    • Her öğeyi otomatik işler
    • Birçok koleksiyonla çalışır: List, Set, Map vb.
  • Örnek: örnek küme fruits: [Apple, Banana].
for (String x : fruits) {
    System.out.println(x);
}
Apple
Banana
Java'da Girdi/Çıktı ve Akışlar

Iterator ile bir koleksiyonda gezinme

  • Iterator<> kullanın: List, Set, Queue vb. destekler
  • Iterator sınıfını içe aktarın
import java.util.Iterator;

// Örnek küme `fruits` için `it` adlı `Iterator` oluşturun Iterator<String> it = fruits.iterator(); // `.hasNext()` daha öğe var mı diye kontrol eder while (it.hasNext()) { // `.next()` öğeyi getirir System.out.print(it.next());}
Apple Banana
Java'da Girdi/Çıktı ve Akışlar

Iterator ile öğe silme

  • Iterator ile öğe silmek için .remove() kullanın

$$

Iterator<String> it = fruits.iterator();
while (it.hasNext()) {
    String fruit = it.next();
    if (fruit.startsWith("A")) {
        // Öğeyi, `A` ile başlıyorsa sil
        it.remove();
        }
}
// fruits artık yalnızca "Banana" içerir
Java'da Girdi/Çıktı ve Akışlar

Iterator ile öğe silme (devam)

  • Silmeden önce:

    System.out.println(fruits);
    
    [Apple, Banana]
    
  • Sildikten sonra:

    System.out.println(fruits);
    
    [Banana]
    
  • Güvenli silme sağlar ve ConcurrentModificationException'ı önler

Güvenli silmeyi temsil eden simge

Java'da Girdi/Çıktı ve Akışlar

Özet

  • For-Each döngüsü
    • Destekler
      • List(ArrayList,LinkedList)
      • Set(HashSet,TreeSet,LinkedHashSet)
      • Queue(PriorityQueue)
      • Stack(Stack)
    • Desteklemez
      • Map
      • Eleman Silme
  • Iterator
    • Destekler
      • List(ArrayList,LinkedList)
      • Set(HashSet,TreeSet,LinkedHashSet)
      • Queue(PriorityQueue)
      • Stack(Stack)
      • Map (keySet().iterator, values().iterator veya entrySet().iterator kullanılmalı)
      • Eleman Silme
Java'da Girdi/Çıktı ve Akışlar

Hadi pratik yapalım!

Java'da Girdi/Çıktı ve Akışlar

Preparing Video For Download...