Salut tout le monde !
En ce moment je développe une petit logiciel. J'arrive à la fin enfin !) mais voilà, c'est toujours dans ces moments là que ça ne fonctionne plus.

Alors J'ai un gros problème sur une fonction.
Et une qui fonctionne très bien pour d'autres trucs, mais ici, ne fonctionne plus.
Voici le code en entier :

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
39
40
41
 
void recupereToutFichiers() {
 
		Vector<Folder> listDossiers = new Vector<Folder>();
 
		int lg = 0;
		int total = 0;
 
 
		m1.initialiseListeFichier();
 
		for (int i = 1; i <= 4; i++) {
 
 
 
 
			m1.compareFolders();
			m1.NbParDossier(i);
 
			listFolders = m1.getAllFolders();
			lg = listFolders.size();
			System.out.println("longueur de list folders : "+listFolders.size()+" ,a i = "+i);
			listDossiers.clear();
			for (int j = 0; j < lg; j++) {
				if (listFolders.elementAt(j).getNbGoodNIN() > 0
						|| listFolders.elementAt(j).getNbUnknownNIN() > 0) {
					listDossiers.add(listFolders.elementAt(j));
				}
			}
		this.VlistDossiers.add(listDossiers);
 
		System.out.println("longueur de Un avant de mattre dedans ==> "+listDossiers.size());
		System.out.println("longueur de Un élément de VlistDossiers ==> "+VlistDossiers.elementAt(i-1).size());
		System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(0).elementAt(0).getName());
		System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(0).elementAt(0).getNbGoodNIN());
		System.out.println("longueur de VlistDossiers ==> "+VlistDossiers.size());
 
		listFolders.clear();
		}
		System.out.println("dans recup aux max j = "+VlistDossiers.elementAt(0).size());
	}
Tout les System.out.println(), sont là pour faire des vérifs de ce que contiennent mes variables à chaques étapes.

Et donc voilà mon problème :
sur ce morceaux.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(0).elementAt(0).getName());
System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(0).elementAt(0).getNbGoodNIN());
Mais elles ne m'affichent pas les même nombres à chaque fois que j'appel la fonction.
Alors que normalement, vu que je ne fait qu'ajouter le nombre à l'indice 0 devrait tout le temps être le même, isn't it ?

Il y a sûrement un truc que je ne vois pas, donc j'aurai besoin de l'avis d'un œil extérieur.

Merci beaucoup




EDIT :

Voilà ce que je viens de remarquer : <

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(0).elementAt(0).getName());
		System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(0).elementAt(0).getNbGoodNIN());
		if(VlistDossiers.size()>=2){
		System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(1).elementAt(0).getName());
		System.out.println("dans un dossier VlistDossiers ==> "+VlistDossiers.elementAt(1).elementAt(0).getNbGoodNIN());

ça me renvoie pour un premier passage :

dans un dossier VlistDossiers ==> Mut12
dans un dossier VlistDossiers ==> 5
dans un dossier VlistDossiers ==> Mut12
dans un dossier VlistDossiers ==> 5

et pour un second:

dans un dossier VlistDossiers ==> Mut1
dans un dossier VlistDossiers ==> 5
dans un dossier VlistDossiers ==> Mut1
dans un dossier VlistDossiers ==> 5

et ainsi de suite.

Comment ce fait-il que avec une simple add(), cela me remplace toute la liste depuis le début tout en l'incrémentant ??? oO"

EDIT : J'ai remplacer les Vector(), par des ArrayList();