IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Dupliquer une arraylist sans que la modification d'un element de l'une affecte l'autre


Sujet :

Collection et Stream Java

  1. #1
    Membre actif
    Profil pro
    developpeur
    Inscrit en
    septembre 2010
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : septembre 2010
    Messages : 219
    Points : 203
    Points
    203
    Par défaut Dupliquer une arraylist sans que la modification d'un element de l'une affecte l'autre
    Bonjour,

    Je voudrais copier une ArrayList, sans que la modification des éléments dans la copie affectent les instances présentent dans la liste d'origine. J'ai vu les exemples dans ce fil, mais elles gardent les références.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2009
    Messages : 12 430
    Points : 29 128
    Points
    29 128
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu te réponds en partie dans ta question : il faut que les éléments de la liste de départ soient copiés eux-aussi (et pas seulement la liste) dans la liste copie.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Ce que tu veux mettre en place, ça s'appelle du deep copy

    Si tes éléments impléments Cloneable, c'est assez simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(Object o : oldList) {
        newList.add(o.clone());
    }
    S'ils n'implémentent pas Cloneable, il faut que tu aies un moyen pour que chaque instance d'un objet puisse créer une nouvelle instance qui soit une copie de lui même autrement (ce qui serait du clonage que tu ferais toi même au final)
    En gros, une méthode copyMe() à implémenter selon tes besoins
    Je ne suis pas mort, j'ai du travail !

  4. #4
    Membre actif
    Profil pro
    developpeur
    Inscrit en
    septembre 2010
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : septembre 2010
    Messages : 219
    Points : 203
    Points
    203
    Par défaut dupliquer sans cloner une arraylist
    c'est ce que je fais, j'ai essayer addAll, puis element par element mais rien à faire, j'ai trouvé une solution batarde qui consiste à copier chaque element de mon arraylist dans une arraylist et la pas de reference
    le probleme doit etre ailleurs, merci

    oh curieux, je voyais pas le post sur le clone object je vais l'essayer de suite

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/07/2012, 08h18
  2. Réponses: 2
    Dernier message: 08/07/2009, 11h07
  3. Réponses: 4
    Dernier message: 07/07/2009, 22h56
  4. Réponses: 2
    Dernier message: 02/07/2009, 11h35
  5. fermer une fenetre sans que la suite soit effectuée
    Par sbitsch dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2007, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo