Als «java-stream» getaggte Fragen

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.

15
Java 8 Stream mit Stapelverarbeitung
Ich habe eine große Datei, die eine Liste von Elementen enthält. Ich möchte einen Stapel von Elementen erstellen und mit diesem Stapel eine HTTP-Anfrage stellen (alle Elemente werden als Parameter in der HTTP-Anfrage benötigt). Ich kann es sehr einfach mit einer forSchleife machen, aber als Java 8-Liebhaber möchte ich versuchen, …

6
Wie überprüfe ich, ob ein Java 8-Stream leer ist?
Wie kann ich überprüfen, ob a Streamleer ist, und eine Ausnahme auslösen, wenn dies nicht der Fall ist, als nicht-terminale Operation? Grundsätzlich suche ich nach etwas, das dem folgenden Code entspricht, ohne jedoch den dazwischen liegenden Stream zu materialisieren. Insbesondere sollte die Überprüfung nicht erfolgen, bevor der Stream tatsächlich von …

6
Sortieren einer Liste mit stream.sorted () in Java
Ich bin daran interessiert, eine Liste aus einem Stream zu sortieren. Dies ist der Code, den ich verwende: list.stream() .sorted((o1, o2)->o1.getItem().getValue().compareTo(o2.getItem().getValue())) .collect(Collectors.toList()); Vermisse ich etwas Die Liste wird nicht sortiert. Es sollte die Listen nach dem Element mit dem niedrigsten Wert sortieren. for (int i = 0; i < list.size(); …


5
Warum kann ich beim Streaming von einem Array keine Ganzzahlen Zeichenfolgen zuordnen?
Dieser Code funktioniert (im Javadoc aufgenommen): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Dieser kann nicht kompiliert werden: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA sagt mir, dass ich einen …

7
Unterschied zwischen findAny () und findFirst () in Java 8
Overа этот вопрос есть ответы на Stapelüberlauf на русском : Какие различия между findFirst и findAny в Java 8? Ich bin wenig verwirrt zwischen Stream#findAny()und Stream#findFirst()von der StreamAPI in Java 8. Was ich verstanden habe ist, dass beide das erste übereinstimmende Element aus dem Stream zurückgeben, wenn sie beispielsweise in …

12
Java 8 Lambda Element aus Liste holen und entfernen
In einer vorgegebenen Liste von Elementen, mag ich das Element mit einer bestimmten Eigenschaft erhalten und sie aus der Liste entfernen. Die beste Lösung, die ich gefunden habe, ist: ProducerDTO p = producersProcedureActive .stream() .filter(producer -> producer.getPod().equals(pod)) .findFirst() .get(); producersProcedureActive.remove(p); Ist es möglich, get und remove in einem Lambda-Ausdruck zu …

6
Ist es möglich, die Java 8 Stream API auf der Android API <24 zu verwenden?
Ich habe diesen Beitrag hier gelesen . Trotzdem kann ich auf minSdkVersion &lt;24 keinen Code ausführen, der Java 8 Stream-API-Funktionen wie die folgenden enthält. List&lt;Car&gt; newCars = cars.stream() .filter(s -&gt; s.getColor().equals("red")) .collect(Collectors.toList()); Dies wird aufgrund der Fehlermeldung nicht ausgeführt Für den Aufruf ist API-Level 24 erforderlich (aktuell mindestens 15): java.util.Collection …


4
'Optional.get ()' ohne 'isPresent ()' Prüfung
Ich habe den folgenden Suchcode in Java: return getTableViewController().getMe().getColumns().stream().filter($-&gt;Database.equalsColumnName($.getId(), columnId)).findFirst().get(); Ich wollte die Spalte nach Namen finden und die erste gefundene zurückgeben. Ich verstehe, dass es einen Fall gibt, in dem nichts gefunden wurde und verarbeitet werden sollte, aber wie? Ist es das, was es von diesem Fluchen will: 'Optional.get()' …

14
Java 8, Streams, um die doppelten Elemente zu finden
Ich versuche, doppelte Elemente in der Ganzzahlliste aufzulisten, z. List&lt;Integer&gt; numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); Verwenden von Streams von JDK 8. Hat jemand ausprobiert. Um die Duplikate zu entfernen, können wir die eindeutige () API verwenden. Aber was ist mit dem Finden der duplizierten Elemente? Kann mir jemand helfen?

5
Wie sollen wir den jdk8-Stream für Nullwerte verwalten?
Hallo Java-Entwickler, Ich weiß, dass das Thema ein bisschen sein kann, in advanceda das JDK8 noch nicht veröffentlicht ist (und vorerst sowieso nicht ..), aber ich habe einige Artikel über die Lambda-Ausdrücke und insbesondere den Teil gelesen, der sich auf die neue Sammlungs-API namens Stream bezieht. Hier ist das Beispiel …

5
Warum löst findFirst () eine NullPointerException aus, wenn das erste gefundene Element null ist?
Warum wirft das ein java.lang.NullPointerException? List&lt;String&gt; strings = new ArrayList&lt;&gt;(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity Der erste Punkt in stringsist null, was ein vollkommen akzeptabler Wert ist. Darüber hinaus findFirst()gibt eine Optional , die für …

7
Beispiel für eine FlatMap-Methode für Java 8 Streams
Ich habe das bevorstehende überprüft Java update, nämlich : Java 8 or JDK 8. Ja, ich bin ungeduldig, es gibt viele neue Dinge, aber es gibt etwas, das ich nicht verstehe, einen einfachen Code: final Stream&lt;Integer&gt;stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); Die Javadocs sind public &lt;R&gt; Stream&lt;R&gt; flatMap(Function&lt;? super T,? extends Stream&lt;? …

3
Warum verursacht ein paralleler Stream mit Lambda im statischen Initialisierer einen Deadlock?
Ich bin auf eine seltsame Situation gestoßen, in der die Verwendung eines parallelen Streams mit einem Lambda in einem statischen Initialisierer scheinbar ohne CPU-Auslastung ewig dauert. Hier ist der Code: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -&gt; i).count(); System.out.println("done"); } public static void main(final String[] args) {} } Dies …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.