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 :

VECTOR : ajouter un objet, accéder et taille


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 70
    Points : 53
    Points
    53
    Par défaut VECTOR : ajouter un objet, accéder et taille
    Bonjour à tous,

    je dispose d'une classe contenant un VECTOR qui au premier objet (composé de 3 attributs) que je lui ajoute, créé bien la première case du VECTOR avec cet objet, mais quand je rajoute encore un élément, il écrase celui-ci et met le nouveau par dessus. Je le sais parceque je demande un affichage de la case indexée 0 du vector et à chaque ajout, la valeur de celle-ci change et renvoi le nouvel objet qui écrase l'ancien or si le tableau était bien incrémenté, la valeur de la première case resterait bien la même ! Mais encore plus bizarre, si je demande l'affichage de la taille du VECTOR, il me donne un size à 0 !!!!

    Là, j'y comprend plus rien ! Merci de votre aide, voici un extrait de cette fameuse classe...

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    public class Produit {
     
        private String itemA, itemB, itemC;
     
        public Produit (String itemA, String itemB, String itemC){
            this.itemA = itemA;
            this.itemB = itemB;
            this.itemC = itemC;
        }
     
        public Produit (String itemA, String itemB){
            this.itemA = itemA;
            this.itemB = itemB;
        }
     
       //Un accesseur-------------
       public String getItemA() {
            return itemA;
        }
     
        public String toString(){
            return(getItemA());
        }
     
        Vector liste = new Vector();
     
        //Les methodes de l'objet-----------------------
        //----------------------------------------------
        public String inserer(){
            liste.addElement(this);
            //Ici, this represente un objet PRODUITS construit avec
            //3 paramètres itemA, itemB et itemC
            //et qui appelle la méthode inserer en fesant :
            //<nom_de_l_objet_PRODUIT>.inserer();
            return(system.out.print(liste.get(0).toString())+" et un vector de longueur "+liste.size());
        }
    }
    Merci

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, ta liste est un attribut de la class Produit, donc à chaque nouveau produit, c'est une nouvelle liste qui est créée.
    Ta liste devrait être dans une autre classe, et il faudrait utiliser ArrayList au lieu de Vector (qui est déconseillée depuis le jdk1.3 ou 1.2).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 70
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par CheryBen Voir le message
    Bonjour, ta liste est un attribut de la class Produit, donc à chaque nouveau produit, c'est une nouvelle liste qui est créée.
    Ta liste devrait être dans une autre classe, et il faudrait utiliser ArrayList au lieu de Vector (qui est déconseillée depuis le jdk1.3 ou 1.2).
    Ok, je crois comprendre ce que tu veux dire, je vais tenter dans une autre classe. Je tiens au courant...

    Merci

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

Discussions similaires

  1. Probleme de taille d'un sizer lors de l'ajout d'objets
    Par Skiski dans le forum wxPython
    Réponses: 2
    Dernier message: 28/02/2010, 12h13
  2. Réponses: 5
    Dernier message: 30/01/2006, 13h10
  3. [Vector] Ajouter un objet
    Par GLDavid dans le forum SL & STL
    Réponses: 3
    Dernier message: 14/12/2005, 14h29
  4. [Vector] Ajouter un Vector dans un autre Vector
    Par VinceFromBcn dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/06/2004, 22h54

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