Konvertieren Stream in Java in eine Liste
-
Konvertieren von Stream in Liste mit der Methode
collect()
in Java -
Konvertieren den Stream mit der Methode
toCollection()
in Java in eine Liste -
Konvertieren den Stream in eine Liste mit der Methode
forEach()
in Java -
Konvertieren den Stream in eine Liste mit der Methode
toArray()
in Java
Dieses Tutorial stellt die Konvertierung des Stream
in eine Liste in Java vor.
Ein Stream ist eine Sammlung von Objekten. Ein Stream speichert keine Daten und ist daher keine Datenstruktur.
Der Stream
wurde der Java-8-Version hinzugefügt, während eine Liste eine Schnittstelle ist, die geordnete Sammlungen speichert. In diesem Tutorial werden wir uns mit der Konvertierung eines Streams in eine Liste befassen.
Java hat die folgenden Möglichkeiten, mit denen wir unsere Aufgabe erfüllen können:
- Konvertieren mit der Methode
collect()
- Konvertieren mit der Methode
toCollection()
- Konvertieren mit der Methode
forEach()
- Konvertieren mit der Methode
toArray()
Konvertieren von Stream in Liste mit der Methode collect()
in Java
Die Stream-Operation collect()
ist eine Terminaloperation. Eine Terminaloperation bedeutet, dass der Stream verbraucht ist und nach dieser Operation nicht weiter verwendet werden kann.
Die Syntax dieser Methode lautet:
collect(Collector<? super T, A, R> collector)
Diese Methode akzeptiert ein Collector-Objekt als Argument.
Die Collector-Klasse wird verwendet, um die Elemente des Streams in einer Sammlung zu sammeln. Diese Klasse hat die Methode toList()
, die den Stream in eine Liste umwandelt.
Schauen wir uns nun ein Codebeispiel an:
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class SimpleTesting {
public static void main(String args[]) {
// declaring a stream
Stream<String> furnitures =
Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
// changing stream to list
List<String> furniture_list = furnitures.collect(Collectors.toList());
// printing the list
for (String furniture : furniture_list) {
System.out.println(furniture);
}
}
}
Ausgabe:
chair
dinning table
study table
coffee table
sofa
Konvertieren den Stream mit der Methode toCollection()
in Java in eine Liste
Dieses Beispiel ähnelt dem vorherigen, außer dass wir die Methode Collector.toList()
anstelle der Methode Collectors.toCollection()
verwendet haben.
Die Collector-Klasse hat eine Methode namens toCollection()
, die einen Collector zurückgibt, der die Eingabeelemente in einer neuen Sammlung in der Reihenfolge sammelt, in der sie gefunden wurden. Sehen Sie sich den Beispielcode unten an:
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class SimpleTesting {
public static void main(String args[]) {
// declaring a stream
Stream<String> furnitures =
Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
// changing stream to list
List<String> furniture_list = furnitures.collect(Collectors.toCollection(ArrayList::new));
// printing the list
for (String furniture : furniture_list) {
System.out.println(furniture);
}
}
}
Ausgabe:
chair
dinning table
study table
coffee table
sofa
Konvertieren den Stream in eine Liste mit der Methode forEach()
in Java
In diesem Beispiel haben wir zuerst eine leere ArrayList erstellt und dann die Methode forEach()
verwendet, um jedes Stream-Element einzeln zur Liste hinzuzufügen. Der Stream
hat eine Methode namens forEach()
, die alle Elemente des Eingabe-Streams durchführt.
Sehen Sie sich den Beispielcode unten an:
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class SimpleTesting {
public static void main(String args[]) {
// declaring a stream
Stream<String> furnitures =
Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
// declaring an empty arraylist
ArrayList<String> furniture_list = new ArrayList<>();
// adding elements one by one
furnitures.forEach(furniture_list::add);
// printing the list
for (String furniture : furniture_list) {
System.out.println(furniture);
}
}
}
Ausgabe:
chair
dinning table
study table
coffee table
sofa
Konvertieren den Stream in eine Liste mit der Methode toArray()
in Java
In diesem Beispiel haben wir zuerst den Stream
mit der Methode toArray()
in ein Array umgewandelt. Danach haben wir das neu erstellte Array mit der Methode asList()
in eine Liste konvertiert, um eine Liste zu erhalten.
Sehen Sie sich den folgenden Code an:
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class SimpleTesting {
public static void main(String args[]) {
// declaring a stream
Stream<String> furnitures =
Stream.of("chair", "dinning table", "study table", "coffee table", "sofa");
// converting stream to array
String[] furniture_array = furnitures.toArray(String[] ::new);
// converting array to list
List<String> furniture_list = Arrays.asList(furniture_array);
// printing the list
for (String furniture : furniture_list) {
System.out.println(furniture);
}
}
}
Ausgabe:
chair
dinning table
study table
coffee table
sofa
Verwandter Artikel - Java Stream
- Distinct by Property in Java 8 Stream
- Konvertieren Sie Iterable in Java in Stream
- Die Stream Reduce-Operation in Java
- Stream-Filter in Java
- Konvertieren eine Liste in eine Karte in Java
- Konvertieren Array in Stream in Java