Vecteur ecrase les objets antèrieurs
re,
Dans mon appli, j'ai des arrets de bus, des lignes de bus (composées de n arrets) et des reseaux( composés de ligne de bus)
Mon probleme est le suivant quand j'injecte ma seconde ligne de bus dans mon Vecteur reseau elle s'ajoute bien, mais les arrets qui la comopose remplace les arrets de la 1ere ligne de bus ajouté au préalable.
Code:
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
public static void main(String[] args) {
// TODO code application logic here
int numArret;
LigneBus uneLigne;
Arret unArret;
Vector listeArret = new Vector();
Vector Reseau = new Vector();
//********************1ere Ligne
//creation des arrets et insertion dans vecteur listeArret
numArret = 1;
unArret = new Arret(numArret);
listeArret.addElement(unArret);
numArret = 2;
unArret = new Arret(numArret);
listeArret.addElement(unArret);
numArret = 3;
unArret = new Arret(numArret);
listeArret.addElement(unArret);
//transmission du vecteur listeArret a la ligne
uneLigne = new LigneBus("L1", listeArret);
//insertion de la ligne dans le vecteur reseau
Reseau.addElement(uneLigne);
listeArret.removeAllElements();
//********************2ème Ligne
numArret = 3;
unArret = new Arret(numArret);
listeArret.addElement(unArret);
numArret = 4;
unArret = new Arret(numArret);
listeArret.addElement(unArret);
numArret = 5;
unArret = new Arret(numArret);
listeArret.addElement(unArret);
uneLigne = new LigneBus("L2", listeArret);
Reseau.addElement(uneLigne);
for (int j=0; j<Reseau.size(); j++) {
uneLigne = (LigneBus)Reseau.elementAt(j);
System.out.println("Ligne : "+uneLigne.getNumLigne());
for (int i=0; i<uneLigne.listArret.size(); i++) {
unArret = (Arret)uneLigne.listArret.elementAt(i);
System.out.println(unArret.getArret());
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
public class LigneBus {
private String numLigne;
protected Vector listArret;
protected Arret arretAd;
/** Creates a new instance of LigneBus */
public LigneBus(String nl, Vector la) {
this.numLigne = nl;
this.listArret = new Vector();
this.listArret = la;
}
public void setNumLigne(String nl){
this.numLigne = nl;
}
public String getNumLigne(){
return(this.numLigne);
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public class Arret {
private int numArret;
/** Creates a new instance of Arrets */
public Arret(int na){
this.numArret = na;
}
public void setArret(int na){
this.numArret = na;
}
public int getArret(){
return(this.numArret);
}
} |
Merci de votre aide