Pytania otagowane jako java-stream

Użyj tego tagu w przypadku pytań związanych z korzystaniem z interfejsu API Stream. Został wprowadzony w Javie 8 i obsługuje operacje w stylu funkcjonalnym na strumieniach wartości, takich jak potoki filtruj-mapuj-zmniejszaj w kolekcjach.

5
Kiedy należy używać strumieni?
Właśnie natknąłem się na pytanie, kiedy używam a Listi jego stream()metody. Chociaż wiem, jak ich używać, nie jestem pewien, kiedy ich używać. Na przykład mam listę zawierającą różne ścieżki do różnych lokalizacji. Teraz chciałbym sprawdzić, czy pojedyncza podana ścieżka zawiera którąkolwiek ze ścieżek określonych na liście. Chciałbym zwrócićboolean podstawie tego, …


6
Sortowanie listy za pomocą stream.sorted () w Javie
Jestem zainteresowany sortowaniem listy ze strumienia. Oto kod, którego używam: list.stream() .sorted((o1, o2)->o1.getItem().getValue().compareTo(o2.getItem().getValue())) .collect(Collectors.toList()); Czy coś mi brakuje? Lista nie jest sortowana. Powinien posortować listy według pozycji o najniższej wartości. for (int i = 0; i < list.size(); i++) { System.out.println("list " + (i+1)); print(list, i); } Oraz metoda druku: …

5
Dlaczego nie mogę zamapować liczb całkowitych na ciągi podczas przesyłania strumieniowego z tablicy?
Ten kod działa (pobrany w Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Tego nie można skompilować: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA mówi mi, że mam „niezgodny ciąg …


7
Różnica między findAny () i findFirst () w Javie 8
На этот вопрос есть ответы на Stack Overflow на русском : Какие различия между findFirst и findAny в Java 8? Jestem trochę zdezorientowany między Stream#findAny()i Stream#findFirst()z StreamAPI w Javie 8. Zrozumiałem, że oba zwrócą pierwszy dopasowany element ze strumienia, na przykład, gdy zostaną użyte w połączeniu z filtrem? Dlaczego więc …

6
Czy można używać Java 8 Stream API na Android API <24?
Przeczytałem ten post tutaj. Ale nadal nie mogę uruchomić kodu zawierającego funkcje Java 8 Stream API, takie jak poniższe na minSdkVersion &lt;24. List&lt;Car&gt; newCars = cars.stream() .filter(s -&gt; s.getColor().equals("red")) .collect(Collectors.toList()); To nie działa z powodu komunikatu o błędzie Wywołanie wymaga interfejsu API na poziomie 24 (obecnie minimum to 15): java.util.Collection …

5
Dlaczego funkcja findFirst () zgłasza wyjątek NullPointerException, jeśli pierwszy znaleziony element ma wartość null?
Dlaczego to rzuca java.lang.NullPointerException? List&lt;String&gt; strings = new ArrayList&lt;&gt;(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity Pierwsza pozycja stringsto null, co jest wartością całkowicie akceptowalną. Ponadto findFirst()zwraca parametr Optional , co ma jeszcze większy sens, findFirst()aby móc …

5
Jak powinniśmy zarządzać strumieniem jdk8 dla wartości null
Witajcie, drodzy programiści Java, Wiem, że temat może być trochę, in advanceponieważ JDK8 nie jest jeszcze wydany (a przynajmniej na razie nie…), ale czytałem kilka artykułów na temat wyrażeń Lambda, a zwłaszcza części związanej z nowym API kolekcji znanym jako Stream. Oto przykład podany w artykule Java Magazine (jest to …

4
„Optional.get ()” bez czeku „isPresent ()”
Mam następujący kod wyszukiwania w Javie: return getTableViewController().getMe().getColumns().stream().filter($-&gt;Database.equalsColumnName($.getId(), columnId)).findFirst().get(); Chciałem znaleźć kolumnę według nazwy i zwrócić pierwszą znalezioną. Rozumiem, że jest przypadek, w którym nic nie znaleziono i należy to przetworzyć, ale jak? Czy tego właśnie chce przez to przekleństwo: 'Optional.get()' without 'isPresent()' check ? Jak naprawić? Chcę wrócić, nulljeśli …

12
Java 8 lambda pobiera i usuwa element z listy
Mając listę elementów, chcę pobrać element o danej właściwości i usunąć go z listy. Najlepsze rozwiązanie jakie znalazłem to: ProducerDTO p = producersProcedureActive .stream() .filter(producer -&gt; producer.getPod().equals(pod)) .findFirst() .get(); producersProcedureActive.remove(p); Czy można łączyć get i remove w wyrażeniu lambda?


14
Java 8, strumienie, aby znaleźć zduplikowane elementy
Próbuję wymienić zduplikowane elementy na liście liczb całkowitych, powiedzmy np. List&lt;Integer&gt; numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); używając strumieni jdk 8. Czy ktoś próbował. Aby usunąć duplikaty, możemy użyć wyraźnego () api. Ale co ze znalezieniem zduplikowanych elementów? Czy ktoś może mi pomóc?

3
forEach vs forEachOrdered w Java 8 Stream
Rozumiem, że te metody różnią się kolejnością wykonywania, ale we wszystkich moich testach nie mogę osiągnąć innej realizacji zamówienia. Przykład: 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)); Wynik: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Proszę podać przykłady, kiedy 2 metody dadzą różne wyniki.

3
Dlaczego strumień równoległy z lambdą w inicjatorze statycznym powoduje zakleszczenie?
Natknąłem się na dziwną sytuację, w której użycie równoległego strumienia z lambdą w statycznym inicjatorze zajmuje pozornie wieczność bez użycia procesora. Oto kod: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -&gt; i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Wydaje się, że jest to minimalne odtworzenie przypadku …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.