SORU
29 Mayıs 2014, PERŞEMBE


Akış Java 8 ile İLGİLENİYORUZ kullanarak İterable dönüştürmek

java.lang.Iterable<T> veren bir arayüzü var.

Bu sonucu değiştirmek için Java 8 Stream API kullanarak istiyorum.

İterable ise "". Stream

Akarsu (Liste için İterable dönüştürmeden) nasıl daha iyi bir fikir?

CEVAP
29 Mayıs 2014, PERŞEMBE


Daha kolay ve daha iyi bir sonuç alır doğrudan spliteratorUnknownSize kullanarak daha iyi bir cevap var. Iterable spliterator() bir yöntemi var, sadece senin spliterator almak için kullanmalısınız. En kötü durumda, aynı kodu (varsayılan uygulaması kullanır spliteratorUnknownSize), ama daha yaygın bir durum, nerede Iterable bir koleksiyon daha, bir daha spliterator, ve bu nedenle daha iyi akış performansı (hatta belki de iyi bir paralellik.) Ayrıca daha az kodu:

StreamSupport.stream(iterable.spliterator(), false)
             .filter(...)
             .moreStreamOps(...);

Gördüğünüz gibi, bir İterable (Why does Iterable<T> not provide stream() and parallelStream() methods?) bir akış almak çok acı verici değildir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Justin Schenck

    Justin Schen

    24 Kasım 2006
  • Megan Parken

    Megan Parken

    19 Temmuz 2009
  • POGProductionz

    POGProductio

    27 NİSAN 2012