cs_chriskat
Messages postés1Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention30 novembre 2006
-
30 nov. 2006 à 08:47
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 2011
-
1 déc. 2006 à 15:20
Bonjour,
je voudrais savoir comment copier une liste (ArrayList) dans une autre sans lien entre les 2, c'est à dire que si j'en modifie une, je ne veux pas que l'autre soit modifiée.
platon179
Messages postés237Date d'inscriptionlundi 20 mai 2002StatutMembreDernière intervention22 juillet 20112 30 nov. 2006 à 09:34
Salut
Si tu fais simplement un clone() de ton ArrayList, les éléments eux-même ne seront pas copiés (doc : "Returns a shallow copy of this ArrayList instance. (The elements
themselves are not copied.)"). Alors a mon avis, tu dois créer une nouvelle liste, et cloner chaque élément, séquentiellement.
Le principe est le même pour le HashMap. Sauf qu'il me semble qu'il existe une méthode putAll() qui fait tout ca, à vérifier.
super_toinou
Messages postés764Date d'inscriptionmardi 25 mai 2004StatutMembreDernière intervention 8 mars 20116 1 déc. 2006 à 15:20
Yopla,
tu peux utiliser des "utilitaires" qui te permettent de cloner en profondeur tes objets
exemple : SerializationUtils.clone(objet) d apache marche tres bien !! (il faut que tes objets soient serializables pour que ce puisse etre cloné)
org.apache.commons.lang.SerializationUtils
t as qu a prendre le jar chez eux et le rajouter a ton class path !