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 habe eine Hash-Map mit den folgenden Werten, in Werten, die ich als String-Datentyp datiert habe. Ich möchte alle Daten vergleichen, die in der Karte verfügbar sind, und nur einen Schlüsselwert extrahieren, der ein sehr aktuelles Datum hat. Ich möchte mit Werten vergleichen, nicht mit Schlüsseln. Ich habe den folgenden …
Ich habe eine Map<String,List<String>>und möchte, dass daraus wird, Map<String,List<Long>>weil jede Stringin der Liste eine darstellt Long: Map<String,List<String>> input = ...; Map<String,List<Long>> output= input.entrySet() .stream() .collect(toMap(Entry::getKey, e -> e.getValue().stream() .map(Long::valueOf) .collect(toList())) ); Mein Hauptproblem ist, dass jeder Stringmöglicherweise nicht richtig a darstellt Long; Möglicherweise liegt ein Problem vor. Long::valueOfkann Ausnahmen auslösen. …
Ich möchte konvertieren: Map<String, Map<String, List<Map<String, String>>>> inputMap zu: Map<String, Map<String, CustomObject>> customMap inputMapwird in der Konfiguration bereitgestellt und ist bereit, aber ich muss customMapformatieren. CustomObject wird aus der List<Map<String, String>>Verwendung weniger Codezeilen in einer Funktion abgeleitet. Ich habe versucht, die Eingabekarte auf normale Weise zu iterieren und Schlüsselwerte in …
Ich versuche, eine Ressource zu filtern und einige Elemente basierend auf einem Feld auszuschließen. Zum Ausschließen habe ich einen Satz (der eine ID enthält, die ausgeschlossen werden muss) und eine Liste (die mehrere Bereiche von IDs enthält, die ausgeschlossen werden müssen). Ich habe die folgende Logik geschrieben und bin mit …
Ich habe Listvon Employees mit unterschiedlichen Beitrittsdaten. Ich möchte Mitarbeiter vor und nach einem bestimmten Beitrittsdatum von der Liste mithilfe von Streams abrufen. Ich habe versucht, folgenden Code, List<Employee> employeeListAfter = employeeList.stream() .filter(e -> e.joiningDate.isAfter(specificDate)) .collect(Collectors.toList()); List<Employee> employeeListBefore = employeeList.stream() .filter(e -> e.joiningDate.isBefore(specificDate)) .collect(Collectors.toList()); class Employee{ int id; String name; …
Ich habe eine 35 GB CSVDatei. Ich möchte jede Zeile lesen und die Zeile in eine neue CSV schreiben, wenn sie einer Bedingung entspricht. try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) { try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) { br.lines().parallel() .filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world .forEach(line -> { writer.write(line …
Gibt es eine Möglichkeit, dass das Folgende als ein Satz von Stream-Operationen ausgeführt werden kann, anstatt explizit zu prüfen, ob empfohlene Produkte leer sind, und dann die Standardliste zurückzugeben, andernfalls die gefilterte Liste zurückzugeben ? public List<Product> getRecommendedProducts() { List<Product> recommendedProducts = this.newProducts .stream() .filter(isAvailable) .collect(Collectors.toList()); if (recommendedProducts.isEmpty()) { return …
Ich lerne Java 8-Streams. Sagen Sie mir bitte, wie kann ich eine sortArrayMethode kompakter schreiben ? import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import static org.junit.Assert.assertArrayEquals; public class TestStream { /* * Sort numbers in an array without changing even numbers position */ @Test public void test_1() …
Betrachten Sie das folgende JAVA-Modell für den Ruhezustand : @Entity @Table public class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long id; @Column public String firstName; @Column public String lastName; @Column public Boolean active; } und das folgende Modell für die API-Serialisierung (unter Verwendung des Spring Boot Rest Controllers): public …
Ich dachte, ich könnte aus dieser Frage extrapolieren , aber ich kann nicht Das kann ich natürlich short[] shortarray = {0,1,2}; List<Short> shortList = new ArrayList<Short>(); for (Short s : shortarray) { shortList.add(s); } Aber ich frage mich, wie ich das mit Streams machen soll. List<Short> shortList = Arrays.stream(shortarray).boxed() .collect(Collectors.toList()); …
Gemäß der Dokumentation auf der Oracle-Website : Nebenwirkungen von Verhaltensparametern bei Stream-Vorgängen werden im Allgemeinen nicht empfohlen, da sie häufig zu unwissentlichen Verstößen gegen die Anforderungen an die Staatenlosigkeit sowie zu anderen Sicherheitsrisiken für Threads führen können. Umfasst dies das Speichern von Elementen des Streams in einer Datenbank? Stellen Sie …
Diese Frage hat hier bereits Antworten : So iterieren Sie mit foreach loop über den Java 8-Stream (4 Antworten) Gestern geschlossen . Streamerbt eine iterator () -Methode, um eine zu erzeugen Iterator. Aber ich brauche Iterableeher eine als eine Iterator. Beispiel: Diese Zeichenfolge lautet: String input = "this\n" + "that\n" …
Ich habe eine Liste mit Typen List<A>und mit der Kartenoperation eine kollektive Liste mit Typen List<B>für alle A-Elemente, die in einer Liste zusammengeführt sind. List<A> listofA = [A1, A2, A3, A4, A5, ...] List<B> listofB = listofA.stream() .map(a -> repo.getListofB(a)) .flatMap(Collection::stream) .collect(Collectors.toList()); ohne flatmap List<List<B>> listOflistofB = listofA.stream() .map(a -> …
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.