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 :

Vecteur d' objets


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 127
    Par défaut Vecteur d' objets
    Bonjour à tous,

    J'ai un Vector contenant des objets Contact (contenant un nom, prénom, adresse, ...).
    Ma question est-la suivante : puis-je faire quelque chose pour ques les méthodes telles que contains ou elementAt prennent en compte les champs de ma classe contact?

    Plus clairement :
    Puis-je faire :

    if(monVector.contains("Mookie"))
    ...

    Mookie étant le nom d'un de mes contacts contenu dans le vecteur.

    Si quelqu'un a une solution, je le remercie d'avance!

  2. #2
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Puis-je faire :

    if(monVector.contains("Mookie"))
    ...
    NON car ton vector contient des objets Contact, ce n'est pas un object Contact en lui-même.

  3. #3
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Déjà, utilise ArrayList au lieu de Vector.

    Pour ton problème tu peux faire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    boolean contient = monArrayList.contains(new Object() {
        @Override public boolean equals(Object other) {
            return other != null && other instanceof Contact && "Mookie".equals(((Contact)other).getName());
        }
    });

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 127
    Par défaut
    Merci beaucoup, ça fonctionne avec ce code!

    Mais pourrais-tu un peu me l'expliquer?

    Ca ne revient pas au même si je redéfinis la méthode equals de ma classe Contact?

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par Mookie
    Merci beaucoup, ça fonctionne avec ce code!

    Mais pourrais-tu un peu me l'expliquer?

    Ca ne revient pas au même si je redéfinis la méthode equals de ma classe Contact?
    Il faut voir ce que fait contains(Object o):

    En pseudo code (sauf le equals qui est du java):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    contient = faux
    i = 0
    TANTQUE i < taille_liste ET non contient
        SI o.equals(liste(i))
            contient = true
        FINSI
        i <- i + 1
    FINTANTQUE
    Donc il suffit de lui passer un objet qui permette de renvoyer true à equals quand tu le désires...

    Ca n'est pas pareil que de redéfinir equals dans Contact car dans ce cas, tu serais obligé de passer un objet de type Contact dans ta méthode contains.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/11/2008, 18h13
  2. Réponses: 10
    Dernier message: 22/09/2008, 10h23
  3. Probleme vecteur d'objet changeant tout seul
    Par mathildeclair dans le forum C++
    Réponses: 6
    Dernier message: 22/05/2008, 17h26
  4. Vecteur d'objets et methodes
    Par edenyorke dans le forum Langage
    Réponses: 7
    Dernier message: 02/05/2007, 13h24
  5. [MFC] Manipuler un vecteur d'objets
    Par Yellowmat dans le forum MFC
    Réponses: 4
    Dernier message: 13/07/2005, 14h37

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