Wie führe ich funktionale Operationen an Sammlungen mithilfe der Stream-API in Java durch?
Mit der Veröffentlichung von Java 8 wurde die Stream-API eingeführt, die funktionale Vorgänge für Sammlungen prägnanter und effizienter macht. Die Stream-API bietet eine neue Methode zur Verarbeitung von Sammlungen, die deklarativ mit Sammlungen arbeiten kann, wodurch die Komplexität des Codes verringert und die Lesbarkeit und Wartbarkeit des Codes verbessert werden kann. In diesem Artikel wird detailliert beschrieben, wie Sie die Stream-API in Java verwenden, um funktionale Vorgänge für Sammlungen auszuführen.
Zuerst müssen wir die Grundkonzepte der Stream-API verstehen. Stream stellt eine Folge von Datenelementen dar, die aus einer beliebigen Datenquelle wie Arrays, Sammlungen usw. stammen können. Der Unterschied zwischen Stream und Sammlung besteht darin, dass nicht die Daten selbst, sondern die bei Bedarf berechneten Daten gespeichert werden. Dies bedeutet, dass wir mehrere Vorgänge an den Daten ausführen können, ohne eine neue Sammlung zu erstellen. Die Stream-API bietet verschiedene Methoden zum Filtern, Zuordnen, Sortieren und für andere Vorgänge an Daten. Diese Methoden können in einer Kette aufgerufen werden, um einen Verarbeitungsablauf zu bilden und schließlich die gewünschten Ergebnisse zu erzielen.
Im Folgenden finden Sie einige Beispiele, die veranschaulichen, wie Sie mit der Stream-API funktionale Vorgänge für Sammlungen ausführen.
Zuerst können wir die Filtermethode verwenden, um Daten zu filtern, die die Bedingungen erfüllen. Wir haben beispielsweise eine Menge von ganzen Zahlen und möchten Elemente finden, die größer als 10 sind.
List<Integer> numbers = Arrays.asList(1, 5, 10, 15, 20); List<Integer> result = numbers.stream() .filter(n -> n > 10) .collect(Collectors.toList()); System.out.println(result); // 输出 [15, 20]
Zusätzlich zum Filtern von Daten können wir auch die Kartenmethode verwenden, um die Daten abzubilden. Wir haben beispielsweise eine Sammlung von Zeichenfolgen und möchten jede Zeichenfolge in Großbuchstaben umwandeln.
List<String> words = Arrays.asList("hello", "world", "Java", "stream"); List<String> result = words.stream() .map(String::toUpperCase) .collect(Collectors.toList()); System.out.println(result); // 输出 [HELLO, WORLD, JAVA, STREAM]
Darüber hinaus können wir die Daten auch mit der sortierten Methode sortieren. Wir haben beispielsweise eine Sammlung von ganzen Zahlen und möchten diese vom kleinsten zum größten sortieren.
List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8); List<Integer> result = numbers.stream() .sorted() .collect(Collectors.toList()); System.out.println(result); // 输出 [1, 2, 5, 8, 10]
Darüber hinaus bietet die Stream-API auch einige einfache statistische Methoden wie Anzahl, Min., Max., Summe usw. Wir haben beispielsweise eine Reihe von ganzen Zahlen und möchten deren Durchschnitt berechnen.
List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8); double average = numbers.stream() .mapToDouble(Integer::doubleValue) .average() .orElse(0); System.out.println(average); // 输出 5.2
Anhand des obigen Beispiels können wir sehen, dass die Verwendung der Stream-API unseren Code klarer und prägnanter machen kann. Die Stream-API bietet eine Fülle von Methoden zum Filtern, Zuordnen, Sortieren, für Statistiken und andere Vorgänge. Durch die Verkettung dieser Methoden können wir komplexe Datenverarbeitungslogik implementieren. Gleichzeitig bietet die Stream-API auch Unterstützung für die Parallelverarbeitung, wodurch die Vorteile von Mehrkernprozessoren voll ausgenutzt und die Verarbeitungseffizienz verbessert werden können.
Zusammenfassend lässt sich sagen, dass die Verwendung der Stream-API in Java zum Ausführen funktionaler Operationen an Sammlungen unseren Code erheblich vereinfachen und die Lesbarkeit und Wartbarkeit des Codes verbessern kann. Ich hoffe, dass ich durch die Einleitung dieses Artikels ein besseres Verständnis für die Verwendung der Stream-API bekomme. Lassen Sie uns die leistungsstarken Funktionen der Stream-API voll ausnutzen, um die Effizienz in der tatsächlichen Entwicklung zu verbessern.
Das obige ist der detaillierte Inhalt vonWie führe ich funktionale Operationen an Sammlungen mithilfe der Stream-API in Java durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!