Opérations de copie dans Java ArrayList : comprendre le comportement des références
L'attribution d'une référence à un objet Java, tel qu'une ArrayList, copie simplement la référence valeur, pas l'objet lui-même. Dans le cas d'ArrayLists, l'attribution de l1 à l2 signifie que les deux références pointent vers le même objet ArrayList. Toutes les modifications ultérieures apportées via l2 seront également reflétées dans l1.
Cependant, il existe des scénarios dans lesquels vous pourriez avoir besoin d'une copie de l'objet ArrayList, pas seulement d'une référence. Pour y parvenir, vous pouvez créer un nouvel objet ArrayList et le remplir en copiant des éléments de l'ArrayList d'origine à l'aide de méthodes de collection telles que addAll(). Ce processus crée un nouvel objet ArrayList avec sa propre structure de données sous-jacente, rendant la copie indépendante de l'original.
Exemple de code :
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } // Create a new ArrayList object to copy the elements into List<Integer> l2 = new ArrayList<>(); l2.addAll(l1); // Clear the original list using l2 l2.clear(); // Original list l1 remains unaffected System.out.println(l1); // Prints [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!