Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Soucis d'insertion d'objet dans un vector et sa taille [ Divers / Général ] (JeanMi66)

mardi 8 juillet 2008 à 08:58:49 | Soucis d'insertion d'objet dans un vector et sa taille

JeanMi66

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...

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);
        return(system.out.print(liste.get(0).toString())+" et un vector de longueur "+liste.size());
    }
}


JeanMi66

mardi 8 juillet 2008 à 09:16:38 | Re : Soucis d'insertion d'objet dans un vector et sa taille

JeanMi66

Je complète : le THIS dans la méthode INSERER représente un objet de type PRODUIT(String itemA, String itemB, String itemC).

JeanMi66

mardi 8 juillet 2008 à 09:57:22 | Re : Soucis d'insertion d'objet dans un vector et sa taille

laurent1024

Bonjour
Essayes de replacer le new Vector(); par new Vector(100); (une taille par déafaut).

Remarque : Il me semble que l'utilisation des vectors est déprécié depuis la version 2 de Java, utilise plutôt un Arraylist, ou un linkedlist (qui est peut être plus adapté si tu ajoute de élemnents sans savoir combien il y en a).

Cdt

mardi 8 juillet 2008 à 10:40:13 | Re : Soucis d'insertion d'objet dans un vector et sa taille

JeanMi66

Non, ça fonctionne pas ! Même en remplaçant par un ArrayList, mon principal soucis est que le tableau ne s'incrémente pas et reste à 1 pour sa size (avant, c'était 0). A chaque fois que j'insère, il écrase donc la première case et la remplace par le nouvel objet inséré. Vous savez pourquoi ?

JeanMi66

mardi 8 juillet 2008 à 10:54:52 | Re : Soucis d'insertion d'objet dans un vector et sa taille

laurent1024

Réponse acceptée !
C'est normal que le tableau reste toujours a 1.
La liste est dans le produit !!
Du coup a chaque fois que tu crées un objet produit, tu créés un objet membre "liste".
en gros si tu fais
Produit pa = new Produit("A","A","A","A");
pa.inserer();
Produit pb = new Produit("B","B","B","B");
pb.inserer();
tu va avoir dans pa une liste contenant l'objet pa
et dans pb une liste contenant l'objet pb.

Cdt

mardi 8 juillet 2008 à 11:47:50 | Re : Soucis d'insertion d'objet dans un vector et sa taille

AlexN

Salut,

Tel que c'est écrit, la propriété liste est une propriété d'instance et non de classe. Ce qui signifie que pour chaque instance de la classe produit, une nouvelle liste est créée. Et chacune contiendra toujours un seul objet, l'instance elle même.

Pour avoir une seule liste accessible à toutes les instances de classe, mettre la variable list en static (variable de classe) :

private static Vector liste = new Vector();

et la méthode inserer devient aussi une méthode de classe :

public static String inserer(Produit produit) {
   liste.add(produit);
   // autre syntaxe
   // Produit.liste.inserer(produit);
}

mardi 8 juillet 2008 à 11:48:43 | Re : Soucis d'insertion d'objet dans un vector et sa taille

AlexN

Produit.liste.add(produit);

mardi 8 juillet 2008 à 11:55:54 | Re : Soucis d'insertion d'objet dans un vector et sa taille

JeanMi66

Ok, vous m'avez bien aidé, merci encore !

JeanMi66



Cette discussion est classé dans : string, objet, vector, itema, itemb


Répondre à ce message

Sujets en rapport avec ce message

comment acceder a un objet quand on a le nom contenu dans un String [ par joyman555 ] Salutj ai un probleme, j ai un String avec le nom d un objet dedans, comment puis faire pour acceder a cet objet ??mercijoyman555@cijix.fr.st Pb d'objet dans un vector [ par djbuch ] Jé un vector ds lequels chaque element est une nouvelle instance de mon objet Info : contenuDos.addElement(new Info(vectAM));jusque la pas de pb.mais que fais cette methode ???? [ par youneslami ] salut a tous, je fais un projet avec un binom, mais il est malade donc injoiniable,il a mit une methode et je c pas ce kelle fais :public Vector separ Select choix multiple avec JavaBean [ par valoue ] Bonjour,Je cherche à utiliser la balise dans une JSP.J'ai un javabean qu'on appelera MonBean qui hérite de ActionForm et qui possède un Vector de Str lecture et écriture depuis une Applet [ par javinc ] Je précise : le fichier à lire ou écrire est sur le même serveur que l'Applet.Voici mon code :méthode pour lire un fichier depuis mon Applet (elle mar pb nom objet [ par simonfr ] bonjour à tous,j'ai un petit pb, je pense que c'est tout simple mais bon je trouve pas.je voudrai donner comme nom à un objet la valeur d'un string, b sauvgarde donnees [ par joeblack198 ] j'ai un problème dans la sauvegarde de donner j'ai créer un catalogue qui est un ensemble de Vecor, chaque représente une catégorie de genre de Film Serialisation artificielle [ par Ombitious_Developper ] Salut:Je travaille avec le framework GWT, mais il s'avère que la sérialisation est pénible avec ce dernier.Comme il supporte la sérialisation d'un obj Serialisation dans un String [ par Ensias ] Bonjour Est ce qu'il est possible de serialiser un objet dans un String sans passer par un fichier.Si c possible comment faire pour recuperer l'objet connexion a un serveur sftp [ par salim81 ] bonjour, j'arrive pas a se connecter a un serveur sftp via java.j'ai l'exception suivante:Problem encoured while connecting to the serveur xxxx : com.


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.