Convertir une collection en liste en Java
- Utiliser un constructeur pour convertir une collection en liste en Java
- Utiliser des fonctions intégrées pour convertir une collection en liste en Java
-
Utiliser la boucle
for
pour convertir une collection en liste en Java -
Utilisez
collect
pour convertir une collection en liste en Java
Cet article présentera et discutera des différentes méthodes de conversion d’une collection en liste en Java.
Utiliser un constructeur pour convertir une collection en liste en Java
Nous pouvons utiliser la fonction constructeur et fournir la collection que nous voulons convertir dans le paramètre.
Syntaxe:
List<Generic> listname = new ArrayList<>(collectionName);
Exemple:
import java.util.*;
public class ExpHStoLL {
public static void main(String[] args) {
Set<String> hs = new HashSet<String>();
// Adding names in hs
hs.add("Dhruv");
hs.add("Sahil");
hs.add("Ajay");
System.out.println("Hash Set Collection :" + hs);
// Using constructor of hs for linked list
List<String> MyList = new LinkedList<String>(hs);
System.out.println("\nLinked List after conversion: " + MyList);
}
}
Production:
Hash Set Collection :[Dhruv, Sahil, Ajay]
Linked List after conversion: [Dhruv, Sahil, Ajay]
Ici, nous avons créé un ensemble de hachage de noms, puis utilisé le constructeur hs
pour créer une liste à partir de l’ensemble de hachage.
Utiliser des fonctions intégrées pour convertir une collection en liste en Java
Il existe deux méthodes intégrées pour convertir une collection en liste dans les classes Array et Collections.
Utilisez asList
pour convertir une collection en liste en Java
La classe Array fournit la méthode asList()
pour convertir une collection de tableaux en une liste.
Syntaxe:
List<Generic> MyList = Arrays.asList(ArrayName);
Exemple:
import java.util.*;
public class ExpArrtoL {
public static void main(String args[]) {
String[] MyArray = {"Dhruv", "Sahil", "Ajay"};
System.out.println("My Array: " + Arrays.toString(MyArray));
// Using asList function
List<String> MyList = Arrays.asList(MyArray);
System.out.println("List using asList(): " + MyList);
}
}
Production:
My Array: [Dhruv, Sahil, Ajay]
List using asList(): [Dhruv, Sahil, Ajay]
Dans le code ci-dessus, nous avons créé un tableau puis utilisé la fonction asList()
avec le nom de tableau MyArray
comme argument pour convertir la collection en liste.
Utilisez addAll
pour convertir une collection en liste en Java
addAll()
est une méthode fournie dans le cadre des collections que nous pouvons utiliser pour convertir une collection en liste. Les éléments de la collection peuvent être spécifiés un par un ou sous forme de tableau.
Ceci est similaire à la méthode asList()
, mais cela fonctionne mieux, améliorant efficacement la complexité temporelle. Nous devons créer à la fois un tableau et une liste avant d’utiliser cette méthode car elle nécessite deux paramètres pour copier les éléments de la collection vers la liste.
Syntaxe:
Collections.addAll(ListName, ArrayName);
Exemple:
import java.util.*;
public class ExpArrtoL {
public static void main(String args[]) {
String[] MyArray = {"Dhruv", "Sahil", "Ajay"};
System.out.println("My Array: " + Arrays.toString(MyArray));
List<String> MyList = new ArrayList<>();
// Using addAll function
Collections.addAll(MyList, MyArray);
System.out.println("List using addAll(): " + MyList);
}
}
Production:
My Array: [Dhruv, Sahil, Ajay]
List using addAll(): [Dhruv, Sahil, Ajay]
Utiliser la boucle for
pour convertir une collection en liste en Java
Si nous ne voulons pas utiliser de constructeur ou de fonctions intégrées, la boucle for-each
peut aider à convertir une collection en liste. Cette méthode est conviviale pour les débutants car elle offre un moyen facile de conversion.
Exemple:
import java.util.*;
public class ListUsingForLoop {
public static void main(String[] args) {
Set<String> hs = new HashSet<String>();
hs.add("Dhruv");
hs.add("Sahil");
hs.add("Ajay");
System.out.println("Our HashSet HS:" + hs);
// List of the same size as our HashSet hs
List<String> MyList = new ArrayList<String>(hs.size());
// The loop picks each string of HS and adds it to the List
for (String x : hs) MyList.add(x);
System.out.println("\nList made from HS:" + MyList);
}
}
Production:
Our HashSet HS:[Dhruv, Sahil, Ajay]
List made from HS:[Dhruv, Sahil, Ajay]
Ici, nous avons créé un ensemble de hachage de noms et les avons utilisés pour chaque boucle pour spécifier que pour chaque chaîne trouvée dans l’ensemble de hachage hs
, nous ajoutons la chaîne à notre liste MyList
.
Utilisez collect
pour convertir une collection en liste en Java
Nous pouvons également utiliser la fonction collect()
du flux pour convertir une collection en liste et afficher un résultat sans modifier notre collection d’origine.
La méthode collect()
rassemble des éléments de structures de données ou de collections et fournit une logique supplémentaire pour les manipuler.
Syntaxe:
List<Generic> ListName = CollectionName.stream().collect(toList());
Exemple:
import java.util.*;
import java.util.stream.*;
public class ExpHStoLL {
public static void main(String[] args) {
Set<String> hs = new HashSet<String>();
// Adding names in hs
hs.add("Dhruv");
hs.add("Sahil");
hs.add("Ajay");
System.out.println("Hash Set Collection :" + hs);
List<String> MyList = hs.stream().collect(Collectors.toList());
System.out.println("\nConverted to List: " + MyList);
}
}
Production:
Hash Set Collection :[Dhruv, Sahil, Ajay]
Converted to List: [Dhruv, Sahil, Ajay]
Lors de l’utilisation de la méthode collect()
de l’API stream pour convertir les collections en liste, la copie se fait à l’aide de références.
Étant donné que la liste est un type de données de référence, c’est-à-dire qu’elle stocke l’adresse de référence des objets ou éléments réels, toute modification de notre liste modifiera également notre collection.
La liste de copie créée à partir de la collection d’origine est une copie superficielle. Cela signifie que la suppression de la liste supprimera également l’élément de la collection d’origine.
Nous pouvons éviter cela en créant une copie complète, où la copie d’une collection dans une liste entraîne une nouvelle allocation de mémoire pour la liste au lieu de simplement copier les anciennes références.
Article connexe - Java List
- Convertir les valeurs de map en une liste en Java
- Trier la liste chaînée manuelle avec l'algorithme de tri à bulles en Java
- Trier une liste par ordre alphabétique en Java
- Convertir une liste en map en Java
- Conversion de Stream en Liste en Java