SORU
9 Aralık 2013, PAZARTESİ


Bir akış izleyen çift toplamak

{ 0, 1, 2, 3, 4 } gibi bir akım verilmiş

nasıl en zarif verilen form haline dönüştürmek:

{ new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4) }

(varsayarak, tabii ki, sınıf Çift tanımlanan ettim)?

Düzenleme:Bu kesinlikle değer vermez ya da ilkel akışları ilgili değil. Cevap herhangi bir akış için genel olmalıdır.

CEVAP
11 Aralık 2013, ÇARŞAMBA


Java 8 akarsu Kütüphanesi öncelikle yöneliktir yarma dere içlerine küçük parçalar için paralel işleme, durum bilgisi olan boru hattı aşamaları oldukça sınırlı, ve ne gibi şeyler elde dizin geçerli akış elemanı ve erişim bitişik akışı öğeleri desteklenmez.

Tipik bir şekilde bu problemleri çözmek, bazı sınırlamalar ile, tabii ki, sürücü derenin dizinleri ve güvenmek zorunda değerler kayıt altına alınıyor bazı rasgele erişimli veri yapısı gibi bir ArrayList hangi unsurlar alınabilir. Eğer değerleri arrayList, olsaydı kimse böyle bir şey istendiği gibi çiftleri oluşturabilir:

    IntStream.range(1, arrayList.size())
             .mapToObj(i -> new Pair(arrayList.get(i-1), arrayList.get(i)))
             .forEach(System.out::println);

Elbette sınırlaması giriş yapamazsınız sonsuz bir akışı olması. Bu boru hattı paralel olsa da çalıştırılabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jeffisthecoolguy

    jeffisthecoo

    17 HAZİRAN 2013
  • jkimisyellow...ish

    jkimisyellow

    8 Temmuz 2009
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011