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

  • foreignimage

    foreignimage

    13 HAZİRAN 2006
  • SuppressedStorm

    SuppressedSt

    11 AĞUSTOS 2013
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006