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

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • circuschina

    circuschina

    16 Mart 2007
  • FASHTAG

    FASHTAG

    5 EYLÜL 2012