Değişiklik döngüleri yerine koleksiyon toplu işlemleri
Doğrudan koleksiyon dönüşümleri için removeIf(), replaceAll() ve List.sort() kullanın.
Kod Karşılaştırması
✕ Iterator mutation loop
for (Iterator<Order> it = orders.iterator(); it.hasNext();) {
if (it.next().cancelled()) {
it.remove();
}
}
✓ Java 8+
orders.removeIf(Order::cancelled);
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Açık amaç
İşlem, nasıl yineleneceğini değil neyin değişeceğini açıklar.
Daha güvenli değişiklik
Manuel iterator kaldırma kurallarından kaçınır.
Daha az kod
Yaygın dönüşümler tek bir ifadeye dönüşür.
Eski Yaklaşım
Manuel iterator kaldırma
Modern Yaklaşım
Collection.removeIf()
JDK'dan itibaren
8
Zorluk
Başlangıç
JDK Desteği
Değişiklik döngüleri yerine koleksiyon toplu işlemleri
Mevcut
JDK 8'den itibaren kullanılabilir (Mart 2014)
Nasıl çalışır
Modern koleksiyon interface'leri yaygın değişiklik işlemlerini doğrudan sunar. removeIf(), replaceAll() ve List.sort() gibi metotlar, kontrol akışı yoğun döngülerin yerine amaçlanan dönüşümü açıkça belirten işlemler koyar.
İlgili Belgeler
Kanıt