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 :

La différence entre deux ArrayList


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut La différence entre deux ArrayList
    Salut à tous,
    j'ai besoin de votre aide dans le problème suivant:
    je cherche la différence entre deux ArrayList<Obj> A et B (les éléments de A qui ne sont pas dans B ), j'ai utilisé l'instruction removeAll (A.removeAll(B) mais elle marche pas. Aidez-moi svp et merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    - Si la méthode equals() indique correctement si deux objets sont considérés égaux, alors cette méthode fonctionne parfaitement.

    - Sinon, ben... On va pas deviner comment tu vérifies si un objet de A est aussi dans B -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut
    Merci monsieur thelvin pour la réponse, voici les deux codes que j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ArrayList<Obj> A=new ArrayList<Obj>();
    ArrayList<Obj> B=new ArrayList<Obj>();
    ArrayList<Obj> I=new ArrayList<Obj>();
    for(int i=0;i<B.size();i++)
      {
         if(A.contains((B.get(i)))==false)
           {		
              I.add(B.get(i));
           }
       } 
    A.removeAll(I);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for(int i=0;i<A.size();i++)
    			  {
    if(B.contains((A.get(i)))==false)
      {				
          A.remove(i);
     
     }
    }
    aidez-moi svp pour trouver la solution.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Je te l'ai déjà dit :

    -#1 si la méthode equals() de ta classe Obj est bien faite, alors

    Tu as dit que ça ne marche pas. Deux possibilités :
    -- tu te trompes, ça marche parfaitement
    -- la méthode equals() de ta classe Obj est pourrie.

    -#2 sinon, on ne va pas deviner ce que tu veux.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut
    voici le code de la méthode equals
    public Obj (String mot, int nv)
    {
    lemot=mot; lenv = nv;
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     public boolean equals (Obj obj){
    	return (this.getmot().equals(obj.getmot()) && this.getnv()==obj.getnv());
     }

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Quand on dit "la méthode equals()" en Java, on parle de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public boolean equals(Object o)

    une méthode qui mettrait Obj à la place de Object ne peut pas la remplacer.

    Voir la FAQ pour comment redéfinir la méthode equals()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 88
    Points : 51
    Points
    51
    Par défaut
    voici le nouveau code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     public boolean equals (Object o){
    	if(o instanceof Obj){
     
    			  Obj obj = (Obj)o;
     
    		  return (this.getmot().equals(obj.getmot()) && this.getnv()==obj.getnv());
     
    		}
    		return false;
     
    	  }
    Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiii infiniment monsieur thelvin, maintenant elle marche bien

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

Discussions similaires

  1. Différence entre deux dates
    Par Azharis dans le forum Access
    Réponses: 3
    Dernier message: 11/01/2006, 10h58
  2. [access] différence entre deux champs
    Par loutente dans le forum Langage SQL
    Réponses: 1
    Dernier message: 17/08/2005, 15h57
  3. Différence entre deux dates
    Par pittzz dans le forum Oracle
    Réponses: 5
    Dernier message: 18/07/2005, 12h24
  4. Comment obtenir la différence entre deux dates ?
    Par jbat dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2005, 09h34
  5. Résultats erroné différence entre deux types TDateTime
    Par Alghero dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/03/2004, 17h03

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