Stream - Satttoshi/github-wiki-generator GitHub Wiki

Streams in Java

Streams in Java bieten eine praktische Möglichkeit zur Verarbeitung von Daten. Ein Stream ist eine Ansammlung von Daten, die nacheinander weiterverarbeitet werden können. Streams ermöglichen es uns, eine Vielzahl von Daten schnell und effizient zu verarbeiten.

Erstellung eines Streams

Streams können aus einer Vielzahl von Quellen erstellt werden, wie z.B. aus einer Collection, einem Array oder sogar einem File. Hier ist ein Beispiel für das Erstellen eines Streams aus einer Liste von Strings:

List<String> list = Arrays.asList("Apple", "Banana", "Orange");

// Erstellung eines Streams
Stream<String> stream = list.stream();

Verarbeitung eines Streams

Streams bieten eine Vielzahl von Methoden an, mit denen Daten verarbeitet werden können. Zu diesen Methoden gehören map, filter und reduce.

Map

Mit der map-Methode kann eine Transformation auf jedes Element des Streams angewendet werden. Hier ist ein Beispiel für die Verwendung der map-Methode zum Konvertieren jedes Elements in Großbuchstaben:

List<String> list = Arrays.asList("Apple", "Banana", "Orange");

// Erstellung eines Streams
Stream<String> stream = list.stream();

// Transformation mithilfe der map-Methode
Stream<String> uppercaseStream = stream.map(String::toUpperCase);

Das :: -Operator wird verwendet, um eine Methodenreferenz zu erstellen, um die toUpperCase-Methode auf jedes Element im Stream anwenden zu können.

Filter

Die filter-Methode kann verwendet werden, um Elemente im Stream zu filtern. Hier ist ein Beispiel für die Verwendung der filter-Methode zur Filterung von Elementen, die mit einem bestimmten Buchstaben beginnen:

List<String> list = Arrays.asList("Apple", "Banana", "Orange");

// Erstellung eines Streams
Stream<String> stream = list.stream();

//Filterung mithilfe der filter-Methode
Stream<String> filteredStream = stream.filter(s -> s.startsWith("A"));

Reduce

Die reduce-Methode ermöglicht es uns, Daten in einem Stream auf eine einzelne, optional herauszufilternde Wert zusammenzufassen. Hier ist ein Beispiel für die Verwendung der reduce-Methode für die Addition von Zahlen in einem Stream:

List<Integer> list = Arrays.asList(1, 2, 3, 4);

// Erstellung eines Streams
Stream<Integer> stream = list.stream();

// Zusammenfassung mithilfe der reduce-Methode
Optional<Integer> sum = stream.reduce((a, b) -> a + b);

Das Ergebnis der reduce-Methode ist ein Optional, das entweder den Summenwert enthält oder leer ist, wenn der Stream leer ist.

Fazit

Streams in Java bieten eine einfache, effiziente Möglichkeit zur Verarbeitung von Daten. Sie ermöglichen es uns, eine Vielzahl von Daten schnell und effizient zu verarbeiten. Mit Methoden wie map, filter und reduce können wir Daten transformieren, filtern und reduzieren, um die gewünschten Ergebnisse zu erzielen.

⚠️ **GitHub.com Fallback** ⚠️