Pertanyaan yang diberi tag «java-stream»

Gunakan tag ini untuk pertanyaan terkait penggunaan API Stream. Itu diperkenalkan di Java 8 dan mendukung operasi gaya fungsional pada aliran nilai, seperti filter-peta-mengurangi pipa pada koleksi.

9
Mengapa Stream <T> tidak menerapkan Iterable <T>?
Di Java 8 kita memiliki Stream kelas &lt;T&gt; , yang anehnya memiliki metode Iterator&lt;T&gt; iterator() Jadi Anda akan mengharapkannya untuk mengimplementasikan antarmuka Iterable &lt;T&gt; , yang membutuhkan metode ini, tapi bukan itu masalahnya. Ketika saya ingin mengulangi Stream menggunakan loop foreach, saya harus melakukan sesuatu seperti public static Iterable&lt;T&gt; getIterable(Stream&lt;T&gt; …


7
Abaikan duplikat saat membuat peta menggunakan aliran
Map&lt;String, String&gt; phoneBook = people.stream() .collect(toMap(Person::getName, Person::getAddress)); Saya dapatkan java.lang.IllegalStateException: Duplicate keyketika elemen digandakan ditemukan. Apakah mungkin untuk mengabaikan pengecualian seperti itu dalam menambahkan nilai ke peta? Ketika ada duplikat itu harus dilanjutkan dengan mengabaikan kunci duplikat itu.
257 java  java-8  java-stream 

3
Mengapa Iterable <T> tidak menyediakan metode stream () dan parallelStream ()?
Saya bertanya-tanya mengapa Iterableantarmuka tidak menyediakan stream()dan parallelStream()metode. Pertimbangkan kelas berikut: public class Hand implements Iterable&lt;Card&gt; { private final List&lt;Card&gt; list = new ArrayList&lt;&gt;(); private final int capacity; //... @Override public Iterator&lt;Card&gt; iterator() { return list.iterator(); } } Ini adalah implementasi dari Tangan karena Anda dapat memiliki kartu di tangan …

3
Java 8 lambdas, Function.identity () atau t-> t
На этот вопрос есть ответы на Stack Overflow на русском : Лямбды в Java 8, что лучше использовать - Function.identity ()&gt; t t&gt;? Saya punya pertanyaan tentang penggunaan Function.identity() metode ini. Bayangkan kode berikut: Arrays.asList("a", "b", "c") .stream() .map(Function.identity()) // &lt;- This, .map(str -&gt; str) // &lt;- is the same …

12
Menggunakan Java 8's Opsional dengan Stream :: flatMap
Kerangka kerja Java 8 stream baru dan teman-teman membuat beberapa kode java yang sangat ringkas, tapi saya telah menemukan situasi yang tampaknya sederhana yang sulit dilakukan secara ringkas. Pertimbangkan a List&lt;Thing&gt; thingsdan metode Optional&lt;Other&gt; resolve(Thing thing). Saya ingin memetakan Things ke Optional&lt;Other&gt;s dan mendapatkan yang pertama Other. Solusi yang jelas …

5
Mengapa Java Streaming sekali saja?
Tidak seperti C # IEnumerable, di mana pipa eksekusi dapat dieksekusi sebanyak yang kita inginkan, di Jawa stream dapat 'diulang' hanya sekali. Setiap panggilan ke operasi terminal menutup aliran, menjadikannya tidak dapat digunakan. 'Fitur' ini menghilangkan banyak daya. Saya membayangkan alasan untuk ini bukan teknis. Apa pertimbangan desain di balik …

4
Java 8 Streams: beberapa filter vs. kondisi kompleks
Terkadang Anda ingin memfilter Streamdengan lebih dari satu kondisi: myList.stream().filter(x -&gt; x.size() &gt; 10).filter(x -&gt; x.isCool()) ... atau Anda dapat melakukan hal yang sama dengan kondisi kompleks dan satu filter : myList.stream().filter(x -&gt; x.size() &gt; 10 &amp;&amp; x -&gt; x.isCool()) ... Dugaan saya adalah bahwa pendekatan kedua memiliki karakteristik kinerja …

19
Filter Java Stream ke 1 dan hanya 1 elemen
Saya mencoba menggunakan Java 8 Streams untuk menemukan elemen dalam aLinkedList . Namun saya ingin menjamin bahwa hanya ada satu dan hanya satu yang cocok dengan kriteria filter. Ambil kode ini: public static void main(String[] args) { LinkedList&lt;User&gt; users = new LinkedList&lt;&gt;(); users.add(new User(1, "User1")); users.add(new User(2, "User2")); users.add(new User(3, …

5
Java 8 stream .min () dan .max (): mengapa ini dikompilasi?
Catatan: pertanyaan ini berasal dari tautan mati yang merupakan pertanyaan SO sebelumnya, tetapi begini ... Lihat kode ini ( catatan: Saya tahu bahwa kode ini tidak akan "berfungsi" dan yang Integer::compareharus digunakan - Saya baru saja mengekstraknya dari pertanyaan yang ditautkan ): final ArrayList &lt;Integer&gt; list = IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList()); System.out.println(list.stream().max(Integer::max).get()); …
215 java  java-8  java-stream 

9
Java8: HashMap <X, Y> ke HashMap <X, Z> menggunakan Stream / Map-Reduce / Collector
Saya tahu cara "mengubah" Java sederhana Listdari Y-&gt; Z, yaitu: List&lt;String&gt; x; List&lt;Integer&gt; y = x.stream() .map(s -&gt; Integer.parseInt(s)) .collect(Collectors.toList()); Sekarang pada dasarnya saya ingin melakukan hal yang sama dengan Peta, yaitu: INPUT: { "key1" -&gt; "41", // "41" and "42" "key2" -&gt; "42 // are Strings } OUTPUT: { …


4
Java 8 Streaming dan operasi pada array
Saya baru saja menemukan kemampuan Java 8 stream yang baru. Berasal dari Python, saya bertanya-tanya apakah sekarang ada cara yang rapi untuk melakukan operasi pada array seperti menjumlahkan, mengalikan dua array dalam cara "satu baris pythonic"? Terima kasih

8
Java 8 - Cara terbaik untuk mengubah daftar: peta atau foreach?
Saya memiliki daftar myListToParsetempat saya ingin memfilter elemen dan menerapkan metode pada setiap elemen, dan menambahkan hasilnya di daftar lain myFinalList. Dengan Java 8 saya perhatikan bahwa saya dapat melakukannya dengan 2 cara berbeda. Saya ingin tahu cara yang lebih efisien di antara mereka dan memahami mengapa satu cara lebih …
188 java  java-8  java-stream 

19
Batasi aliran dengan predikat
Apakah ada operasi streaming Java 8 yang membatasi a (berpotensi tak terbatas) Streamhingga elemen pertama gagal mencocokkan predikat? Di Java 9 kita dapat menggunakan takeWhileseperti pada contoh di bawah ini untuk mencetak semua angka kurang dari 10. IntStream .iterate(1, n -&gt; n + 1) .takeWhile(n -&gt; n &lt; 10) .forEach(System.out::println); …
187 java  java-8  java-stream 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.