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.
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<String, Choice> nameMap(List<Choice> choices) { final Map<String, Choice> hashMap = new HashMap<>(); for (final Choice choice : choices) { hashMap.put(choice.getName(), choice); } return hashMap; } Mogę to łatwo …
Czy masz dostęp do stosu w przepełnieniu stosu : Czy masz już mapę i mapę w platformie Java 8? W Javie 8, co jest różnica między Stream.map()i Stream.flatMap()metody?
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 -> e.getColor() == Color.RED) .forEach(e -> System.out.println(e.getName())); myShapesCollection.parallelStream() // <-- This one uses parallel .filter(e -> e.getColor() == Color.RED) .forEach(e -> …
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 …
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 -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } Mam wiele pętli …
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 -> p.getName()); Niestety distinct()metoda nie ma takiego przeciążenia. Czy …
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<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List<Long> targetLongList = new ArrayList<>(); sourceLongList.stream().filter(l …
Mam interfejs, który zwraca java.lang.Iterable<T>. Chciałbym manipulować tym wynikiem przy użyciu interfejsu API Java 8 Stream. Jednak Iterable nie może „przesyłać strumieniowo”. Masz pomysł, jak używać Iterable jako strumienia bez konwertowania go na List?
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ń …
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<String> nameList; Stream<Integer> indices = intRange(1, names.length).boxed(); nameList = zip(indices, stream(names), SimpleEntry::new) .filter(e -> e.getValue().length() <= e.getKey()) .map(Entry::getValue) .collect(toList()); co wydaje się raczej rozczarowujące w porównaniu do podanego …
Chcę podsumować listę liczb całkowitych. Działa w następujący sposób, ale składnia nie wydaje się właściwa. Czy można zoptymalizować kod? Map<String, Integer> integers; integers.values().stream().mapToInt(i -> i).sum();
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 …
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<Class> getClasses() throws ClassNotFoundException { List<Class> classes = Stream.of("java.lang.Object", "java.lang.Integer", "java.lang.String") .map(className -> Class.forName(className)) .collect(Collectors.toList()); return classes; } Ten kod nie kompiluje się, ponieważ Class.forName()powyższa …
Rozumiem, że za pomocą .stream()mogę korzystać z operacji łańcuchowych takich jak .filter()strumień równoległy lub z niego korzystać. Ale jaka jest różnica między nimi, jeśli muszę wykonać małe operacje (na przykład wydrukować elementy listy)? collection.stream().forEach(System.out::println); collection.forEach(System.out::println);
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.