SORU
7 EKİM 2013, PAZARTESİ


Anlayış Spliterator, Toplayıcı ve Java 8'de Akış

Sorun Java Stream arabirim özellikle Spliterator Collector arabirimleri ile bir ilgisi yoktur nerede 8, anlayış yaşıyorum. Benim sorunum sadece henüz Spliterator Collector arabirimleri anlayamıyor ve sonuç olarak Stream arayüz benim için hala biraz belirsiz.

Tam olarak Spliterator Collector nedir ve bunları nasıl kullanabilirim? Spliterator Collector (ve muhtemelen bu süreçte Stream benim kendi benim kendi yazmak için hazırım, ben değil, ne yapmalıyım?

Bazı örnekler web etrafında dağınık okudum, ama burada her şey hala yeni ve değişikliklere tabi olduğundan, örnekler ve öğreticiler hala çok seyrek.

CEVAP
7 EKİM 2013, PAZARTESİ


Neredeyse kesinlikle hiç bir kullanıcı olarak Spliterator ile başa çıkmak için olmalıdır; yalnızca Collection tür kendini ifade ve eğer gerekli olmalıdırayrıcaisteyen onlara parallelized işlemleri optimize etmek için.

Asıl önemli olan, bir Spliterator yol işletim elementler üzerinde bir koleksiyon bir şekilde kolay ayırın parçası toplama, örneğin olduğun için parallelizing ve bir iş parçacığı için iş üzerinde bir parça toplama, bir iş parçacığı için iş diğer bir parçası vb.

Aslında hiç bu tür bir değişken için 15 ** tasarruf değerleri, ya da olmalıdır. Stream gibi bir Iterator işte bu tek seferlik bir kullanım nesnesi olacak hemen hemen her zaman kullanımda akıcı bir zincir gibi Javadoc örnek:

int sum = widgets.stream()
                  .filter(w -> w.getColor() == RED)
                  .mapToInt(w -> w.getWeight())
                  .sum();

Collector "" işlemi a la/azaltmak; özellikle, paralellik ve sonuçlandırma adımları desteklemek gerekiyor. göster azaltmak en genelleştirilmiş, soyut mümkün sürümüdür Collectors örnekler:

  • toplamak, Collectors.reducing(0, (x, y) -> x y) ör
  • StringBuilder ekleme, örneğin Collectors.of(StringBuilder::new, StringBuilder::append, StringBuilder::append, StringBuilder::toString)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012

İLGİLİ SORU / CEVAPLAR