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.

5
Kapan saya harus menggunakan aliran?
Saya baru saja menemukan pertanyaan saat menggunakan a Listdan stream()metodenya. Meskipun saya tahu cara menggunakannya, saya tidak yakin kapan harus menggunakannya. Misalnya, saya punya daftar, berisi berbagai jalur ke lokasi berbeda. Sekarang, saya ingin memeriksa apakah satu jalur tertentu berisi salah satu jalur yang ditentukan dalam daftar. Saya ingin mengembalikan …


6
Menyortir daftar dengan stream.sorted () di Java
Saya tertarik untuk menyortir daftar dari aliran. Ini adalah kode yang saya gunakan: list.stream() .sorted((o1, o2)->o1.getItem().getValue().compareTo(o2.getItem().getValue())) .collect(Collectors.toList()); Apakah saya melewatkan sesuatu? Daftar tidak diurutkan. Ini harus mengurutkan daftar sesuai dengan item dengan nilai terendah. for (int i = 0; i < list.size(); i++) { System.out.println("list " + (i+1)); print(list, i); …

5
Mengapa saya tidak bisa memetakan bilangan bulat ke string saat streaming dari array?
Kode ini berfungsi (diambil di Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Yang ini tidak dapat dikompilasi: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA memberi tahu saya bahwa saya …


4
'Opsional.get ()' tanpa 'isPresent ()'
Saya memiliki kode pencarian berikut di Java: return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get(); Saya ingin menemukan kolom dengan nama dan mengembalikan yang pertama ditemukan. Saya mengerti ada kasus ketika tidak ada yang ditemukan dan harus diproses, tapi bagaimana caranya? Apakah ini yang diinginkan dengan sumpah ini: 'Optional.get()' without 'isPresent()' check ? Bagaimana cara …

12
Java 8 lambda mendapatkan dan menghapus elemen dari daftar
Diberikan daftar elemen, saya ingin mendapatkan elemen dengan properti tertentu dan menghapusnya dari daftar. Solusi terbaik yang saya temukan adalah: ProducerDTO p = producersProcedureActive .stream() .filter(producer -> producer.getPod().equals(pod)) .findFirst() .get(); producersProcedureActive.remove(p); Apakah mungkin untuk menggabungkan get dan remove dalam ekspresi lambda?

7
Perbedaan antara findAny () dan findFirst () di Java 8
На этот вопрос есть ответы на Stack Overflow на русском : Какие различия между findFirst и findAny в Java 8? Saya sedikit bingung antara Stream#findAny()dan Stream#findFirst()tentang StreamAPI di Java 8. Apa yang saya pahami adalah bahwa keduanya akan mengembalikan elemen pertama yang cocok dari aliran, misalnya, bila digunakan bersama dengan …

5
Mengapa findFirst () melontarkan NullPointerException jika elemen pertama yang ditemukannya adalah null?
Mengapa lemparan ini java.lang.NullPointerException? List<String> strings = new ArrayList<>(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity Item pertama masuk stringsadalah null, yang merupakan nilai yang dapat diterima dengan sempurna. Selanjutnya, findFirst()mengembalikan sebuah Opsional , yang lebih masuk …

6
Apakah mungkin untuk menggunakan Java 8 Stream API di Android API <24?
Saya telah membaca posting ini di sini. Tapi tetap saja saya tidak bisa menjalankan kode yang berisi fitur Java 8 Stream API seperti berikut di minSdkVersion &lt;24. List&lt;Car&gt; newCars = cars.stream() .filter(s -&gt; s.getColor().equals("red")) .collect(Collectors.toList()); Ini tidak berjalan karena pesan kesalahan Panggilan memerlukan API level 24 (minimum saat ini 15): …

5
Bagaimana kita harus mengelola aliran jdk8 untuk nilai null
Halo sesama pengembang Java, Saya tahu subjeknya mungkin sedikit in advancekarena JDK8 belum dirilis (dan bukan untuk saat ini ..) tetapi saya membaca beberapa artikel tentang ekspresi Lambda dan khususnya bagian yang terkait dengan API koleksi baru yang dikenal sebagai Stream. Berikut adalah contoh yang diberikan dalam artikel Majalah Java …


14
Java 8, Streams untuk menemukan elemen duplikat
Saya mencoba untuk membuat daftar elemen duplikat dalam daftar integer katakan misalnya, List&lt;Integer&gt; numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); menggunakan Streams of jdk 8. Ada yang sudah mencobanya. Untuk menghapus duplikat kita bisa menggunakan api yang berbeda (). Tapi bagaimana dengan menemukan elemen duplikat? Ada yang bisa membantu saya?

3
forEach vs forEachOrdered di Java 8 Stream
Saya memahami bahwa metode ini membedakan urutan eksekusi tetapi dalam semua pengujian saya, saya tidak dapat mencapai eksekusi pesanan yang berbeda. Contoh: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s-&gt;System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s-&gt;System.out.println("Output:"+s)); Keluaran: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Berikan contoh ketika 2 metode akan menghasilkan keluaran yang berbeda.

3
Mengapa aliran paralel dengan lambda di penginisialisasi statis menyebabkan kebuntuan?
Saya menemukan situasi yang aneh di mana menggunakan aliran paralel dengan lambda di penginisialisasi statis membutuhkan waktu yang tampaknya selamanya tanpa pemanfaatan CPU. Berikut kodenya: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -&gt; i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Ini tampaknya mereproduksi kasus uji minimum …

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.