Cloner/Copier une liste en Java
En Java, il existe différentes méthodes pour cloner une liste. Dans ce tutoriel nous allons découvrir les différents méthodes utilisées pour cloner ou copier une liste en Java.
Méthode 1 : Utilisation d’un constructeur de copie
En utilisant le constructeur ArrayList en Java, une nouvelle liste peut être initialisée avec les éléments d’une autre collection.
Syntaxe:
ArrayList liste_clone = new ArrayList(collection c);
Où c est la collection contenant les éléments à ajouter à cette liste.
Exemple:
import java.util.*; public class Main { public static void main(String[] args) { // Créer une liste List<String> maListe = Arrays.asList("A", "B", "C", "D", "E"); // Clonez la liste List<String> clone_list = new ArrayList<String>(maListe); System.out.println(clone_list); } }
Sortie:
[A, B, C, D, E]
Méthode 2 : Utilisation de la méthode addAll()
La classe List possède une méthode appelée addAll(), qui ajoute tous les éléments d’une collection à la liste.
Syntaxe:
boolean addAll(Collection c);
Où c est la collection contenant les éléments à ajouter à cette liste.
Exemple:
import java.util.*; public class Main { public static void main(String[] args) { // Créer une liste List<String> maListe = Arrays.asList("A", "B", "C", "D", "E"); List<String> clone_list = new ArrayList<String>(); // Clonez la liste clone_list.addAll(maListe); System.out.println(clone_list); } }
Sortie:
[A, B, C, D, E]
Méthode 3 : Utilisation de la méthode clone()
La méthode clone() en Java est utilisée pour créer une nouvelle instance d’une classe de l’objet actuel et initialiser tous ses champs avec le contenu de l’objet spécifié.
Syntaxe:
protected Object clone()
Exemple:
import java.util.*; public class Main { public static void main(String[] args) { // Créer une liste ArrayList<String> maListe = new ArrayList<String>(); // Ajouter des valeurs dans l'ArrayList maListe.add("A"); maListe.add("B"); maListe.add("C"); maListe.add("D"); maListe.add("E"); // Clonez la liste Object clone_list = maListe.clone(); System.out.println(clone_list); } }
Sortie:
[A, B, C, D, E]
Méthode 4 : Utilisation des streams dans Java 8
À l’aide de l’API Streams introduite dans JAVA 8, le clonage d’une liste est possible. La méthode collect() (avec la méthode toList()) est utilisée pour cloner une liste.
Syntaxe:
Stream.collect()
Exemple:
import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { // Créer une liste List<String> maListe = Arrays.asList("A", "B", "C", "D", "E"); // Clonez la liste List<String> clone_list = maListe.stream().collect(Collectors.toList()); System.out.println(clone_list); } }
Sortie:
[A, B, C, D, E]