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]
Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *