İçeriğe geç

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.

List<Item> copy = new ArrayList<>(source);
return copy.stream()
.filter(Item::isActive)
.collect(toList());
return source.stream()
.filter(Item::isActive)
.collect(toList());

Salt okunur gezinme için kaynak koleksiyonu kopyalamadan doğrudan stream alın.