Verwenden Sie dieses Tag für Fragen zur Verwendung der Stream-API. Es wurde in Java 8 eingeführt und unterstützt funktionale Operationen für Werteströme, z. B. Pipelines zum Reduzieren von Filterkarten in Sammlungen.
Ich spiele mit faulen Funktionsoperationen in Java SE 8 herum und möchte map einen Index ifür ein Paar / Tupel erstellen (i, value[i]), dann filterbasierend auf dem zweiten value[i]Element, und schließlich nur die Indizes ausgeben. Muss ich noch darunter leiden: Was entspricht dem C ++ - Paar <L, R> in …
Ich benutze Java Lambda, um eine Liste zu sortieren. Wie kann ich es umgekehrt sortieren? Ich habe diesen Beitrag gesehen , möchte aber Java 8 Lambda verwenden. Hier ist mein Code (ich habe * -1 verwendet) als Hack Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator<File>() { public int compare(File o1, …
In Java 8 gibt Stream.collectes Aggregationen für Sammlungen. In Kotlin existiert dies nicht auf die gleiche Weise, außer vielleicht als Sammlung von Erweiterungsfunktionen in der stdlib. Es ist jedoch nicht klar, welche Äquivalenzen für verschiedene Anwendungsfälle gelten. Am oberen Rand des JavaDoc fürCollectors befinden sich beispielsweise Beispiele für Java 8, …
Ich habe eine Sammlung von BigDecimals (in diesem Beispiel a LinkedList), die ich zusammenfügen möchte. Ist es möglich, dafür Streams zu verwenden? Mir ist aufgefallen, dass die StreamKlasse mehrere Methoden hat Stream::mapToInt Stream::mapToDouble Stream::mapToLong Jedes davon hat eine bequeme sum()Methode. Aber, wie wir wissen, floatund doubleArithmetik ist fast immer eine …
Angenommen, ich habe eine Klasse und eine Methode class A { void foo() throws Exception() { ... } } Jetzt möchte ich foo für jede Avon einem Stream gelieferte Instanz aufrufen wie: void bar() throws Exception { Stream<A> as = ... as.forEach(a -> a.foo()); } Frage: Wie gehe ich mit …
Ich kann Streams oder zusätzliche Elemente wie folgt hinzufügen: Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element)); Und ich kann im Laufe der Zeit neue Dinge hinzufügen: Stream stream = Stream.concat( Stream.concat( stream1.filter(x -> x!=0), stream2) .filter(x -> x!=1), Stream.of(element)) .filter(x -> x!=2); Aber das ist hässlich, weil concates statisch ist. Wenn …
Angenommen, ich habe eine Methode, die eine schreibgeschützte Ansicht in eine Mitgliederliste zurückgibt: class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } Angenommen, der Client durchläuft die Liste nur einmal und …
Ist es möglich, einen Stream in Java 8 zu übertragen? Angenommen, ich habe eine Liste von Objekten. Ich kann so etwas tun, um alle zusätzlichen Objekte herauszufiltern: Stream.of(objects).filter(c -> c instanceof Client) Wenn ich danach etwas mit den Kunden machen möchte, muss ich jeden von ihnen besetzen: Stream.of(objects).filter(c -> c …
Javadoc of Collector zeigt, wie Elemente eines Streams in einer neuen Liste gesammelt werden. Gibt es einen Einzeiler, der die Ergebnisse zu einer vorhandenen ArrayList hinzufügt?
Allgemeine Frage: Was ist der richtige Weg, um einen Stream umzukehren? Angenommen, wir wissen nicht, aus welcher Art von Elementen dieser Stream besteht, wie kann ein Stream generisch umgekehrt werden? Spezifische Frage: IntStreamBietet eine Bereichsmethode zum Generieren von Ganzzahlen in einem bestimmten Bereich IntStream.range(-range, 0). Jetzt, da ich den Umkehrbereich …
In JDK 8 mit Lambda b93 gab es in b93 eine Klasse java.util.stream.Streams.zip, mit der Streams komprimiert werden konnten (dies wird im Tutorial Exploring Java8 Lambdas. Teil 1 von Dhananjay Nene veranschaulicht ). Diese Funktion: Erstellt einen faulen und sequentiellen kombinierten Stream, dessen Elemente das Ergebnis der Kombination der Elemente …
Ich möchte Listen in einem XMLJava-Objekt verarbeiten. Ich muss sicherstellen, dass alle Elemente verarbeitet werden, damit ich sie erhalten habe. Soll ich deshalb sequentialjeden anrufen, den streamich benutze? list.stream().sequential().filter().forEach() Oder reicht es aus, nur den Stream zu verwenden, solange ich keine Parallelität verwende? list.stream().filter().forEach()
Ich habe einen Datensatz, der durch einen Java 8-Stream dargestellt wird: Stream<T> stream = ...; Ich kann sehen, wie man es filtert, um eine zufällige Teilmenge zu erhalten - zum Beispiel Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); Ich …
Sind Java 8-Streams RxJava-Observablen ähnlich? Java 8-Stream-Definition: Klassen im neuen java.util.streamPaket bieten eine Stream-API zur Unterstützung von Operationen im Funktionsstil für Streams von Elementen.
Wann würden Sie collect()vs verwenden reduce()? Hat jemand gute, konkrete Beispiele dafür, wann es definitiv besser ist, in die eine oder andere Richtung zu gehen? Javadoc erwähnt, dass collect () eine veränderliche Reduktion ist . Da es sich um eine veränderbare Reduzierung handelt, gehe ich davon aus, dass eine Synchronisierung …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.