Conversion de Stream en Liste en Java
-
Convertir un Stream en liste à l’aide de la méthode
collect()
en Java -
Convertir un Stream en liste à l’aide de la méthode
toCollection()
en Java -
Convertir un Stream en liste à l’aide de la méthode
forEach()
en Java -
Convertir un Stream en liste à l’aide de la méthode
toArray()
en Java
Ce tutoriel présente la conversion du Stream
en une liste en Java.
Un Stream est une collection d’objets. Un Stream ne stocke aucune donnée et n’est donc pas une structure de données.
Le Stream
a été ajouté à la version Java 8, tandis qu’une liste est une interface qui stocke des collections ordonnées. Dans ce didacticiel, nous examinerons la conversion d’un Stream en liste.
Java a les moyens suivants par lesquels nous pouvons accomplir notre tâche :
- Convertir en utilisant la méthode
collect()
- Convertir en utilisant la méthode
toCollection()
- Convertir en utilisant la méthode
forEach()
- Convertir en utilisant la méthode
toArray()
Convertir un Stream en liste à l’aide de la méthode collect()
en Java
L’opération Stream collect()
est une opération terminale. Une opération terminale signifie que le Stream est consommé et ne peut plus être utilisé après cette opération.
La syntaxe de cette méthode est :
collect(Collector<? super T, A, R> collector)
Cette méthode prend un objet Collector comme argument.
La classe Collector est utilisée pour collecter les éléments du Stream dans une collection. Cette classe a la méthode toList()
, qui convertit le Stream en une liste.
Regardons maintenant un exemple de code :
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);
}
}
}
Production :
chair
dinning table
study table
coffee table
sofa
Convertir un Stream en liste à l’aide de la méthode toCollection()
en Java
Cet exemple est similaire au précédent sauf que nous avons utilisé la méthode Collector.toList()
au lieu de la méthode Collectors.toCollection()
.
La classe Collector a une méthode appelée toCollection()
qui renvoie un Collector qui rassemble les éléments d’entrée dans une nouvelle Collection dans l’ordre où ils ont été rencontrés. Regardez l’exemple de code ci-dessous :
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);
}
}
}
Production :
chair
dinning table
study table
coffee table
sofa
Convertir un Stream en liste à l’aide de la méthode forEach()
en Java
Dans cet exemple, nous avons d’abord créé une ArrayList vide puis utilisé la méthode forEach()
pour ajouter chaque élément Stream à la List un par un. Le Stream
a une méthode appelée forEach()
qui s’exécute sur tous les éléments du Stream d’entrée.
Regardez l’exemple de code ci-dessous :
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);
}
}
}
Production :
chair
dinning table
study table
coffee table
sofa
Convertir un Stream en liste à l’aide de la méthode toArray()
en Java
Dans cet exemple, nous avons d’abord converti le Stream
en un tableau à l’aide de la méthode toArray()
. Après cela, nous avons converti le tableau nouvellement créé en une liste en utilisant la méthode asList()
pour obtenir une liste.
Regardez le code ci-dessous :
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);
}
}
}
Production :
chair
dinning table
study table
coffee table
sofa
Article connexe - Java Stream
- Filtre de Stream en Java
- L'opération de réduction de Stream en Java
- Convertir une liste en map en Java
- Convertir Array en Stream en Java
- Convertir un Stream en tableau en Java