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

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011