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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    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
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    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 confirmé
    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
    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 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    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 confirmé
    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
    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
    Membre confirmé
    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
    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