«java-stream» etiketlenmiş sorular

Akış API'sının kullanımı ile ilgili sorular için bu etiketi kullanın. Java 8'de tanıtıldı ve koleksiyonlardaki filtre-harita-azaltma boru hatları gibi değer akışlarında işlevsel stil işlemlerini destekler.

9
Java SE 8'de Çiftler veya Tuples var mı?
Java SE 8'de tembel fonksiyonel işlemler ile oynuyorum ve bir çift / tuple için mapbir indeks istiyorumi(i, value[i]) , sonra filterikinci value[i]elemente dayanıyorum ve nihayet sadece endeksler çıktı istiyorum. Hala acı çekmeliyim: Java C + + Pair <L, R> eşdeğeri nedir?lambdas ve akarsuların cesur yeni döneminde? Güncelleme: Aşağıdaki cevaplardan birinde …

9
Bir akışı ters sırada sıralamak için Java8 lambda nasıl kullanılır?
Bir liste sıralamak için java lambda kullanıyorum. nasıl tersine sıralayabilirim? Bunu görene yazı ama Java'nın 8 lambda kullanmak istiyorum. İşte bir hack olarak benim kod (* -1 kullandım) Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator<File>() { public int compare(File o1, File o2) { int answer; if (o1.lastModified() == o2.lastModified()) { …

4
Standart Kotlin kütüphanesinde hangi Java 8 Stream.collect eşdeğerleri bulunmaktadır?
Java 8'de, Stream.collectkoleksiyonlarda toplamalara izin veren var . Kotlin'de bu, stdlib'deki uzatma işlevlerinin bir koleksiyonu olarak değil, aynı şekilde mevcut değildir. Ancak farklı kullanım durumları için denkliklerin ne olduğu açık değildir. Örneğin , JavaDoc'un üst kısmındaCollectors Java 8 için yazılmış örnekler vardır ve bunları Kolin'e taşırken, farklı bir JDK sürümündeyken …

5
Akışları kullanarak BigDecimal'leri ekleme
Ben LinkedListbirlikte eklemek istiyorum BigDecimals (bu örnekte, a ) bir koleksiyon var . Bunun için akış kullanmak mümkün mü? StreamSınıfın birkaç yöntemi olduğunu fark ettim Stream::mapToInt Stream::mapToDouble Stream::mapToLong Her birinin uygun bir sum()yöntemi vardır. Ancak, bildiğimiz gibi floatve doublearitmetik neredeyse her zaman kötü bir fikirdir. Yani, BigDecimal'leri özetlemenin uygun bir …


8
Bir akışa iki Java 8 akışı veya fazladan bir öğe ekleme
Akışları veya ekstra öğeleri ekleyebilirim, şöyle: Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element)); Ve devam ederken yeni şeyler ekleyebilirim, şöyle: Stream stream = Stream.concat( Stream.concat( stream1.filter(x -> x!=0), stream2) .filter(x -> x!=1), Stream.of(element)) .filter(x -> x!=2); Ama bu çirkin, çünkü concatstatik. Bir concatörnek yöntemi olsaydı, yukarıdaki örnekleri okumak çok daha kolay …

9
Bir Koleksiyonu veya Akışı iade etmeli miyim?
Üye listesine salt okunur bir görünüm döndüren bir yöntemim olduğunu varsayalım: class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } Ayrıca, tüm müşterinin yaptığı listenin hemen üzerinde bir kez yinelendiğini varsayalım. …

4
Java 8'de bir Akış yayınlamak mümkün mü?
Java 8'de akış yayınlamak mümkün mü? Diyelim bir nesne listesi var, tüm ek nesneleri filtrelemek için böyle bir şey yapabilirim: Stream.of(objects).filter(c -> c instanceof Client) Bundan sonra, eğer müşterilerle bir şey yapmak istersem, her birini atmam gerekir: Stream.of(objects).filter(c -> c instanceof Client) .map(c -> ((Client) c).getID()).forEach(System.out::println); Bu biraz çirkin gözüküyor. …
160 java  java-8  java-stream 


26
Java 8 akış ters sırası
Genel soru: Bir akışı tersine çevirmenin doğru yolu nedir? Akışın ne tür unsurlardan oluştuğunu bilmediğimizi varsayarsak, herhangi bir akışı tersine çevirmenin genel yolu nedir? Özel soru: IntStreambelirli bir aralıkta Tamsayılar oluşturmak için aralık yöntemi sağlar IntStream.range(-range, 0), şimdi 0'dan negatife geçiş aralığını tersine çevirmek istiyorum, ayrıca kullanamıyorumInteger::compare List<Integer> list = …

2
Java8 akışlarında işlem sırası nasıl sağlanır?
Listeleri bir XMLjava nesnesi içinde işlemek istiyorum . Tüm öğelerin elime ulaşması için işlendiğinden emin olmalıyım. Bu nedenle sequential, streamkullandığım her birini aramalı mıyım ? list.stream().sequential().filter().forEach() Ya da paralelliği kullanmadığım sürece akışı kullanmak yeterli mi? list.stream().filter().forEach()
153 java  java-8  java-stream 

14
Lambda ile JDK8 kullanarak akışları sıkıştırma (java.util.stream.Streams.zip)
Lambda b93 ile JDK 8'de, b93'te akışları sıkıştırmak için kullanılabilecek bir java.util.stream.Streams.zip sınıfı vardı (bu, Java8 Lambdas'ı Keşfetme dersinde gösterilmiştir. Dhananjay Nene tarafından Bölüm 1 ). Bu işlev: Öğeleri iki akışın öğelerini birleştirmenin sonucu olan tembel ve sıralı bir birleşik Akış oluşturur. Ancak b98'de bu ortadan kayboldu. Infact, b98'de java.util.stream'deStreams …

10
Bir akışı iki akıma bölebilir misiniz?
Bir Java 8 akışı ile temsil edilen bir veri kümesi var: Stream<T> stream = ...; Rastgele bir altküme almak için nasıl filtreleneceğini görebilirim - örneğin Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); Ayrıca, veri kümesinin iki rasgele yarısını temsil …
146 java  java-8  java-stream 


7
Java 8 Akışları - Toplama ve Azaltma
collect()Vs ne zaman kullanılır reduce()? Bir şekilde ya da bu şekilde gitmenin kesinlikle daha iyi olduğu zaman iyi, somut örnekleri var mı? Javadoc, () toplanmasının değiştirilebilir bir azalma olduğunu belirtir . Değişken bir azalma olduğu göz önüne alındığında, bunun, performans için zararlı olabilecek senkronizasyon (dahili olarak) gerektirdiğini varsayıyorum. Büyük olasılıkla …
143 java  java-8  java-stream 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.