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

  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • Richard Laxa

    Richard Laxa

    30 AĞUSTOS 2012