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 möchte eine Liste von Objekten mit den Streams und Lambdas von Java 8 in eine Map übersetzen. So würde ich es in Java 7 und darunter schreiben. 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); …
Overа этот вопрос есть ответы на Stapelüberlauf на русском : В чем разница между методами map и flatMap в Java 8? Was ist in Java 8 der Unterschied zwischen Stream.map()und Stream.flatMap()Methoden?
Mit Java 8 und Lambdas ist es einfach, Sammlungen als Streams zu durchlaufen und einen parallelen Stream genauso einfach zu verwenden. Zwei Beispiele aus den Dokumenten , das zweite mit 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() …
Ich habe gerade angefangen, mit Java 8 Lambdas zu spielen, und ich versuche, einige der Dinge, die ich gewohnt bin, in funktionale Sprachen zu implementieren. Beispielsweise haben die meisten funktionalen Sprachen eine Suchfunktion, die mit Sequenzen arbeitet, oder Listen, die das erste Element zurückgeben, für das das Prädikat ist true. …
Overа этот вопрос есть ответы на Stapelüberlauf на русском : Цикл foreach против Iterable.foreach в Java 8: что лучше? Welche der folgenden Methoden ist in Java 8 besser geeignet? Java 8: joins.forEach(join -> mIrc.join(mSession, join)); Java 7: for (String join : joins) { mIrc.join(mSession, join); } Ich habe viele for-Schleifen, …
Wie kann ich in Java 8 eine Sammlung mithilfe der StreamAPI filtern, indem ich die Unterscheidbarkeit einer Eigenschaft jedes Objekts überprüfe? Zum Beispiel habe ich eine Liste von PersonObjekten und möchte Personen mit demselben Namen entfernen. persons.stream().distinct(); Verwendet die Standard-Gleichheitsprüfung für ein PersonObjekt, also brauche ich so etwas wie: persons.stream().distinct(p …
Ich habe mit Java 8 Lambdas herumgespielt, um Sammlungen einfach zu filtern. Ich habe jedoch keinen präzisen Weg gefunden, um das Ergebnis als neue Liste innerhalb derselben Anweisung abzurufen. Hier ist mein bisher prägnantester Ansatz: List<Long> sourceLongList = Arrays.asList(1L, 10L, 50L, 80L, 100L, 120L, 133L, 333L); List<Long> targetLongList = new …
Ich habe eine Schnittstelle, die zurückkehrt java.lang.Iterable<T>. Ich möchte dieses Ergebnis mit der Java 8 Stream-API bearbeiten. Iterable kann jedoch nicht "streamen". Haben Sie eine Idee, wie Sie das Iterable als Stream verwenden können, ohne es in List zu konvertieren?
Ist es möglich, einen benutzerdefinierten Thread-Pool für den parallelen Java 8- Stream anzugeben ? Ich kann es nirgendwo finden. Stellen Sie sich vor, ich habe eine Serveranwendung und möchte parallele Streams verwenden. Aber die Anwendung ist groß und hat mehrere Threads, deshalb möchte ich sie unterteilen. Ich möchte keine langsam …
Gibt es eine übersichtliche Möglichkeit, einen Stream zu durchlaufen, während Sie Zugriff auf den Index im Stream haben? 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()); Das scheint ziemlich enttäuschend im Vergleich …
Ich möchte eine Liste von ganzen Zahlen zusammenfassen. Es funktioniert wie folgt, aber die Syntax fühlt sich nicht richtig an. Könnte der Code optimiert werden? Map<String, Integer> integers; integers.values().stream().mapToInt(i -> i).sum();
Java 8 Collectors.toMaplöst ein NullPointerExceptionif aus, wenn einer der Werte 'null' ist. Ich verstehe dieses Verhalten nicht, Maps können problemlos Nullzeiger als Wert enthalten. Gibt es einen guten Grund, warum Werte nicht null sein können Collectors.toMap? Gibt es auch eine gute Java 8-Methode, um dies zu beheben, oder sollte ich …
Wie kann ich CHECKED-Ausnahmen aus Java 8-Streams / Lambdas heraus auslösen? Mit anderen Worten, ich möchte Code wie diesen kompilieren lassen: 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; } Dieser Code wird nicht kompiliert, da die Class.forName()oben beschriebene Methode …
Ich verstehe, dass .stream()ich mit Kettenoperationen wie .filter()oder parallelen Stream verwenden kann. Aber was ist der Unterschied zwischen ihnen, wenn ich kleine Operationen ausführen muss (zum Beispiel das Drucken der Elemente der Liste)? collection.stream().forEach(System.out::println); collection.forEach(System.out::println);
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.