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.

21
Java 8 Lista <V> do mapy <K, V>
Chcę przetłumaczyć listę obiektów na mapę przy użyciu strumieni i lambd Java 3. Tak napisałbym to w Javie 7 i niższych. private Map&lt;String, Choice&gt; nameMap(List&lt;Choice&gt; choices) { final Map&lt;String, Choice&gt; hashMap = new HashMap&lt;&gt;(); for (final Choice choice : choices) { hashMap.put(choice.getName(), choice); } return hashMap; } Mogę to łatwo …



6
Czy zawsze powinienem używać strumienia równoległego, jeśli to możliwe?
W Javie 8 i lambdach łatwo jest iterować kolekcje jako strumienie, a równie łatwo korzystać z równoległego strumienia. Dwa przykłady z dokumentów , drugi z wykorzystaniem parallelStream: myShapesCollection.stream() .filter(e -&gt; e.getColor() == Color.RED) .forEach(e -&gt; System.out.println(e.getName())); myShapesCollection.parallelStream() // &lt;-- This one uses parallel .filter(e -&gt; e.getColor() == Color.RED) .forEach(e -&gt; …

6
Znajdź pierwszy element według predykatu
Właśnie zacząłem grać z lambdami Java 8 i próbuję zaimplementować niektóre rzeczy, do których jestem przyzwyczajony w językach funkcjonalnych. Na przykład większość języków funkcjonalnych ma funkcję wyszukiwania, która działa na sekwencjach lub listach zwracających pierwszy element, dla którego jest predykat true. Jedyny sposób, w jaki mogę to osiągnąć w Javie …
504 java  java-8  java-stream 

8
Java 8 Iterable.forEach () vs foreach loop
Czy masz dostęp do stosu w przepełnieniu stosu w : Iterable.foreach w Javie 8: Czy można to zrobić w Javie 8? Które z poniższych jest lepszą praktyką w Javie 8? Java 8: joins.forEach(join -&gt; mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } Mam wiele pętli …

27
Java 8 Wyróżnia się według właściwości
Jak w Javie 8 mogę filtrować kolekcję za pomocą Streaminterfejsu API, sprawdzając odrębność właściwości każdego obiektu? Na przykład mam listę Personobiektów i chcę usunąć osoby o tej samej nazwie, persons.stream().distinct(); Użyje domyślnego sprawdzenia równości dla Personobiektu, więc potrzebuję czegoś takiego, persons.stream().distinct(p -&gt; p.getName()); Niestety distinct()metoda nie ma takiego przeciążenia. Czy …

14
Pobieranie listy z java.util.stream.Stream w Javie 8
Bawiłem się lambdami Java 8, aby łatwo filtrować kolekcje. Ale nie znalazłem zwięzłego sposobu na uzyskanie wyniku jako nowej listy w ramach tej samej instrukcji. Oto moje najbardziej zwięzłe podejście do tej pory: List&lt;Long&gt; sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List&lt;Long&gt; targetLongList = new ArrayList&lt;&gt;(); sourceLongList.stream().filter(l …


14
Niestandardowa pula wątków w równoległym strumieniu Java 8
Czy można określić niestandardową pulę wątków dla równoległego strumienia Java 8 ? Nie mogę tego nigdzie znaleźć. Wyobraź sobie, że mam aplikację serwera i chciałbym korzystać z równoległych strumieni. Ale aplikacja jest duża i wielowątkowa, więc chcę ją podzielić na części. Nie chcę wolno działającego zadania w jednym module zadań …

22
Czy istnieje zwięzły sposób na iterację strumienia z indeksami w Javie 8?
Czy istnieje zwięzły sposób na iterację w strumieniu, mając jednocześnie dostęp do indeksu w strumieniu? String[] names = {"Sam","Pamela", "Dave", "Pascal", "Erik"}; List&lt;String&gt; nameList; Stream&lt;Integer&gt; indices = intRange(1, names.length).boxed(); nameList = zip(indices, stream(names), SimpleEntry::new) .filter(e -&gt; e.getValue().length() &lt;= e.getKey()) .map(Entry::getValue) .collect(toList()); co wydaje się raczej rozczarowujące w porównaniu do podanego …
382 java  java-8  java-stream 


12
Java 8 NullPointerException w Collectors.toMap
Java 8 Collectors.toMapzgłasza, NullPointerExceptionjeśli jedna z wartości ma wartość „null”. Nie rozumiem tego zachowania, mapy mogą zawierać zerowe wskaźniki jako wartość bez żadnych problemów. Czy istnieje dobry powód, dla którego wartości nie mogą mieć wartości null Collectors.toMap? Czy jest też dobry sposób na naprawienie tego w Javie 8, czy powinienem …

17
Jak mogę zgłosić WYJĄTKOWO wyjątki ze strumieni Java 8?
W jaki sposób mogę zgłaszać sprawdzone wyjątki z wewnętrznych strumieni Java 8 / lambdas? Innymi słowy, chcę, aby kod taki jak ten był kompilowany: public List&lt;Class&gt; getClasses() throws ClassNotFoundException { List&lt;Class&gt; classes = Stream.of("java.lang.Object", "java.lang.Integer", "java.lang.String") .map(className -&gt; Class.forName(className)) .collect(Collectors.toList()); return classes; } Ten kod nie kompiluje się, ponieważ Class.forName()powyższa …


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.