Konvertieren Stream in Java in eine Liste

Mohammad Irfan 12 Oktober 2023
  1. Konvertieren von Stream in Liste mit der Methode collect() in Java
  2. Konvertieren den Stream mit der Methode toCollection() in Java in eine Liste
  3. Konvertieren den Stream in eine Liste mit der Methode forEach() in Java
  4. Konvertieren den Stream in eine Liste mit der Methode toArray() in Java
Konvertieren Stream in Java in eine Liste

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

Verwandter Artikel - Java List