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.

4
Dlaczego potrzebny jest łącznik do metody redukującej, która konwertuje typ w java 8
Mam problem z pełnym zrozumieniem roli, jaką combinerspełnia reducemetoda strumieniowa . Na przykład następujący kod nie kompiluje się: int length = asList("str1", "str2").stream() .reduce(0, (accumulatedInt, str) -> accumulatedInt + str.length()); Komunikat o błędzie kompilacji: (niezgodność argumentów; nie można przekonwertować wartości int na java.lang.String) ale ten kod się kompiluje: int length …
142 java  java-8  java-stream 

4
Java 8: wydajność strumieni i kolekcji
Jestem nowy w Javie 8. Nadal nie znam dokładnie API, ale zrobiłem mały nieformalny test porównawczy, aby porównać wydajność nowego API Streams ze starymi, dobrymi kolekcjami. Badanie polega na filtrowanie listy Integeri dla każdego numeru nawet obliczyć pierwiastek kwadratowy i przechowywanie go w rezultacie Listo Double. Oto kod: public static …



1
Jak uzyskać listę z niektórych właściwości klas za pomocą strumienia Java 8?
Mam List<Person>. Muszę uzyskać wartość Listz właściwości Person. Na przykład mam Personklasę: class Person { private String name; private String birthDate; public String getName() { return name; } public String getBirthDate() { return birthDate; } Person(String name) { this.name = name; } } List<Person> personList = new ArrayList<>(); personList.add(new Person("David")); …



3
Pobierz pierwszy element spełniający kryteria
Jak zdobyć pierwszy element spełniający kryteria w strumieniu? Próbowałem tego, ale nie działa this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name)); Kryteria te nie działają, metoda filtru jest wywoływana w klasie innej niż Stop. public class Train { private final String name; private final SortedSet<Stop> stops; public Train(String name) { this.name = name; this.stops = …
122 java  java-8  java-stream 

10
Skopiuj strumień, aby uniknąć stwierdzenia, że ​​„strumień był już obsługiwany lub zamknięty”
Chciałbym zduplikować strumień Java 8, abym mógł sobie z tym poradzić dwa razy. Mogę collectjako listę i uzyskać z tego nowe strumienie; // doSomething() returns a stream List<A> thing = doSomething().collect(toList()); thing.stream()... // do stuff thing.stream()... // do other stuff Ale wydaje mi się, że powinien być bardziej wydajny / …


6
Pobierz ostatni element Stream / List w jednej linijce
Jak mogę uzyskać ostatni element strumienia lub listy w poniższym kodzie? Gdzie data.careasjest List<CArea>: CArea first = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal).findFirst().get(); CArea last = data.careas.stream() .filter(c -> c.bbox.orientationHorizontal) .collect(Collectors.toList()).; //how to? Jak widać zdobycie pierwszego elementu, z pewnym filter, nie jest trudne. Jednak uzyskanie ostatniego elementu w jednolinijce to prawdziwy …
118 java  list  java-8  java-stream 


20
Zbieraj kolejne pary ze strumienia
Biorąc pod uwagę strumień, taki jak { 0, 1, 2, 3, 4 }, jak mogę najbardziej elegancko nadać mu daną formę: { new Pair(0, 1), new Pair(1, 2), new Pair(2, 3), new Pair(3, 4) } (zakładając oczywiście, że zdefiniowałem parę klas)? Edycja: nie dotyczy to wyłącznie ints ani strumieni pierwotnych. …
103 java  java-8  java-stream 

7
Jak sprawdzić, czy strumień Java 8 jest pusty?
Jak mogę sprawdzić, czy a Streamjest puste i zgłosić wyjątek, jeśli tak nie jest, jako operacja nieterminalowa? Zasadniczo szukam czegoś równoważnego z poniższym kodem, ale bez materializacji strumienia pomiędzy. W szczególności sprawdzenie nie powinno mieć miejsca przed faktycznym zużyciem strumienia przez operację terminala. public Stream<Thing> getFilteredThings() { Stream<Thing> stream = …
101 java  java-8  java-stream 

15
Java 8 Stream z przetwarzaniem wsadowym
Mam duży plik zawierający listę pozycji. Chciałbym utworzyć partię pozycji, wykonać żądanie HTTP z tą partią (wszystkie pozycje są potrzebne jako parametry w żądaniu HTTP). Mogę to zrobić bardzo łatwo za pomocą forpętli, ale jako miłośnik Java 8 chcę spróbować napisać to za pomocą frameworka Stream Java 8 (i czerpać …

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.