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 :

Vector de Personnes


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut Vector de Personnes
    Bonjour,
    je voudrais créer une classe ListeDePersonnes qui servira à mémoriser des Personnes et j'aimerais le faire avec un Vector.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class Personne{	
            private String nom;
    	private String prenom;
    	...
    }
    Pour commencer, pouvez-vous me dire si ceci est correcte?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class ListeDePersonnes{
        Vector listePers = new Vector ();
     
    }
    Ensuite, je rajouterais une méthode pour tester le fonctionnement du vecteur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public class ListeDePersonnes{
        Vector listePers = new Vector ();
     
        public void testVector(){    
            listePers.addElement(new Personne (André, Tara);
            listePers.addElement(new Personne (Antoine, Dupont);
            listePers.addElement(new Personne (Antoinette, Durand);
     
        // ici je voudrais parcourir mon vecteur avec un foreach 
        // afficher le nom des trois personnes mais je n'y arrive pas... 
     
        }
     
    }

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    est-ce que le choix du Vector est imposé ? car en théorie une ArrayList est plus adaptée si t'utilises un seul thread (faq1, faq2).
    A part ça, il serait plus simple d'étendre Vector ou ArrayList plutôt que de stocker une liste interne. Sinon pour ton for et le typage tu peux regarder ici.
    Bye

  3. #3
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Bonjour,

    En quelle version de java travailles tu?
    Parce que les Vector ne sont plus utilisés depuis un moment.
    http://java.developpez.com/faq/java/...IONS_info_list

    Et grâce aux classes génériques, tu n'as surement pas besoin de créer cette classe:

    si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Personne> listePersonne = new ArrayList<Personne>();
    Tu pourras faire après


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(Personne personne : listePersonne){
        personne.methode();
    }

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut
    Je suis obligé d'utiliser un Vector...

    D'avance merci.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Bon bah...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<TaClasse> list = new Vector<TaClasse>();
    Et quand tu ne seras plus obligé d'utiliser Vector, remplace-le par ArrayList

  6. #6
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Ici est là question
    Citation Envoyé par alex2746 Voir le message
    // ici je voudrais parcourir mon vecteur avec un foreach
    // afficher le nom des trois personnes mais je n'y arrive pas...

    }

    }
    Une réponse possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dans la classe Personne
    public String getNom(){return this.nom;}
    public String getPrenom(){return this.prenom;}
     
    Dans ton Main par exemple :
     Enumeration e=listePers.elements();
        System.out.println("Les personnes enregistrées");
        while(e.hasMoreElements()){
        Personne laPersonne = (Personne) e.nextElement());
          System.out.println(laPersonne.getNom() + " " + laPersonne.getPrenom());
        }

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut
    Salut, je dois utiliser un FOREACH obligatoirement, pas un itérateur...

    Je pensais pouvoir donc écrire ceci, mais ca ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for (Personne p : listePers)
                System.out.println("rien");
    Quelqu'un pourrait m'aider à utiliser le FOREACH pour parcourir mon vecteur?

    Merci d'avance.

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Oui, change l'initialisation de ton vecteur pour ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Vector<Personne> listePers = new Vector<Personne>();

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 187
    Par défaut
    Merci.
    Un conseil...
    on me demande donc de créer une classe servant à mémoriser des Personnes et d'utiliser pour ce faire un Vector.

    Est ce mieux de déclarer le Vector en private ou non?

    Donc, ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class ListePersonnes{
        private Vector<Personne> listePers = new Vector <Personne> ();
    }
    Ou ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class ListePersonnes{
        Vector<Personne> listePers = new Vector <Personne> ();
    }
    Dernière chose:
    Si on me demande uniquement de faire ce que j'ai décris plus haut, je n'ai pas besoin de constructeurs, autres attributs, méthodes, etc?

    Merci d'avance.

  10. #10
    Membre émérite
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Par défaut
    normalement tu déclares tes attributs en private et tu ne donnes que les accesseurs nécessaires. Tout les attributs ne sont pas forcément visible pour l'extérieur

Discussions similaires

  1. Réponses: 19
    Dernier message: 14/11/2006, 16h45
  2. Recherche JBuilder personnal 6 ou 7
    Par raout dans le forum JBuilder
    Réponses: 6
    Dernier message: 05/05/2003, 20h34
  3. Installation JBUILDER 8 Personnal
    Par jpclerc dans le forum JBuilder
    Réponses: 2
    Dernier message: 22/03/2003, 09h58
  4. JBuilder 7 personnal sort à chaque save
    Par Hannouz dans le forum JBuilder
    Réponses: 4
    Dernier message: 17/12/2002, 22h53
  5. [Rave]Personne ne l'utilise ?? Demande d'info...
    Par Barbibulle dans le forum Rave
    Réponses: 4
    Dernier message: 07/11/2002, 23h12

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