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

Langage Java Discussion :

remove() objet d'une liste.


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut remove() objet d'une liste.
    Bonjour je voudrais retirer un objet d'une liste ne se trouvant pas ddans une autre liste.
    Pour exemple, j'ai deux liste de personnes.
    list1 => Francois et Pierre
    list2 => Pierre et Emmanuel
    Je voudrais retirer de ma list2 les éléments n'étant pas dans list1.
    Merci pour votre aide.

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    méthodes remove et contains de List, voir equals de Object. Voir la javadoc.

  3. #3
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Oui et où est le problème ???

  4. #4
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    Le problème est que j'aurai une condition du style dans une boucle qui itere sur les 2 listes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(!personne.getName().equals(personne2.getName()))
    remove(personne);
    Donc avec un code comme sa dans ma liste il va en premier comparé Pierre (list2) avec Francois (list1) donc la il va me retiré Pierre, mais Pierre se trouve dans list1, donc il ne faut pas qu'il soit retiré.

  5. #5
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut
    Bonjour,

    Cette méthode devrait t'intéresser :
    retainAll

    bon courage.
    Salut cette méthode est pratique mais dans mon cas, elle n'est pas utile car j'ai un traitement à faire pour mes objets qui ne sont pas des personnes, dans mon programme.
    Merci.

  6. #6
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Citation Envoyé par david06600
    Salut cette méthode est pratique mais dans mon cas, elle n'est pas utile car j'ai un traitement à faire pour mes objets qui ne sont pas des personnes, dans mon programme.
    Merci.
    Je n'ai rien compris...

    Citation Envoyé par david06600
    Je voudrais retirer de ma list2 les éléments n'étant pas dans list1.
    Citation Envoyé par javadoc de retainAll
    In other words, removes from this list all the elements that are not contained in the specified collection

    Désolé, si tu exposes mal ton problème, je ne peux pas t'aider...

  7. #7
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    pour chaque élément de L1, faire :
    Si L2 contient elementDeL1 alors
    L2.remove(elementDeL1);
    finSi
    finPour

    ...
    c'est l'algorithme du siècle ça

  8. #8
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Citation Envoyé par iohack
    pour chaque élément de L1, faire :
    Si L2 contient elementDeL1 alors
    L2.remove(elementDeL1);
    finSi
    finPour

    ...
    c'est l'algorithme du siècle ça
    Si c'est la solution, alors c'est removeAll qu'il faut utiliser...

  9. #9
    Inactif  
    Inscrit en
    Avril 2005
    Messages
    750
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 750
    Par défaut

    Citation:
    david06600 a écrit :
    Salut cette méthode est pratique mais dans mon cas, elle n'est pas utile car j'ai un traitement à faire pour mes objets qui ne sont pas des personnes, dans mon programme.
    Merci.

    Je n'ai rien compris...

    Citation:
    david06600 a écrit :
    Je voudrais retirer de ma list2 les éléments n'étant pas dans list1.

    Citation:
    javadoc de retainAll a écrit :
    In other words, removes from this list all the elements that are not contained in the specified collection

    Désolé, si tu exposes mal ton problème, je ne peux pas t'aider...
    retainAll ne permet pas d'accéder aux objet qui sont retiré, ou je me trompes?

    pour chaque élément de L1, faire :
    Si L2 contient elementDeL1 alors
    L2.remove(elementDeL1);
    finSi
    finPour

    ...
    c'est l'algorithme du siècle ça
    On fait ce qu'on peut dsl.

  10. #10
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Bonjour,

    Cette méthode devrait t'intéresser :
    retainAll

    bon courage.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/09/2006, 17h21
  2. récupérer un objet dans une liste chainée
    Par marsuwhite dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2006, 14h05
  3. insertion d'objets dans une liste chainee
    Par mathher dans le forum C++
    Réponses: 8
    Dernier message: 20/04/2006, 16h28
  4. [Swing][JList] Placer un Objet dans une liste
    Par Invité dans le forum Composants
    Réponses: 1
    Dernier message: 17/02/2006, 10h31
  5. Récupérer un objet d'une liste déroulante
    Par Hell dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/01/2005, 14h59

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