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

  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • Microsoft Help & Training Videos

    Microsoft He

    31 Mart 2009
  • Peyton

    Peyton

    28 Aralık 2008