Büyük koleksiyon kopyalama (ARCH4086)
Anahtar java.performance.large-collection-copy · Önem info · Kategori performance
Yalnızca üzerinde gezinmek için bir koleksiyonun tamamını yeni bir listeye kopyalamak, gereksiz bir tahsisat ve O(n) kopyalama yaratır. Doğrudan kaynak koleksiyon üzerinde stream alınabilir.
Hatalı
Bölüm başlığı “Hatalı”List<Item> copy = new ArrayList<>(source);return copy.stream() .filter(Item::isActive) .collect(toList());return source.stream() .filter(Item::isActive) .collect(toList());Düzeltme
Bölüm başlığı “Düzeltme”Salt okunur gezinme için kaynak koleksiyonu kopyalamadan doğrudan stream alın.