[java]un ArrayList d'un ArrayList de type tab

Résolu/Fermé
petersone Messages postés 2 Date d'inscription vendredi 23 mars 2012 Statut Membre Dernière intervention 23 mars 2012 - Modifié par petersone le 23/03/2012 à 11:40
petersone Messages postés 2 Date d'inscription vendredi 23 mars 2012 Statut Membre Dernière intervention 23 mars 2012 - 23 mars 2012 à 12:39
Bonjour,

Je bloque sur la possibilité d'afficher tous les éléments de mon tableau qui se trouve dans un ArrayList d'un ArrayList. en fait, mon code est comme le suivant :
// la première partie: remplissage des tableau dans un Arraylist d'un Arraylist   
int solution_initiale[][] = {{2,1,2,10,0},{1,1,1,12,0},{1,2,2,10,12},{3,1,3,10,0},{3,2,2,2,22},{1,3,3,4,22}, {3,3,2,2,24}, {2,2,3,7,10},{2,3,1,9,17}};   
// cette matrice représente 9 opérations : chaque opération représente leur num job , num oper, num ressource , durée d'exécution et leur date de début   

ArrayList<ArrayList<int []>> chemin_critique = new ArrayList<ArrayList<int []>>();   
while (k<9)   
{int t =0;   
if (solution_initiale[k][4]== 0)   
{   

for ( t=0; t<5;t++)   
{   
tab_temp[t]= solution_initiale[k][t];   

}   

ArrayList temp_princ = new ArrayList<int []>();   
temp_princ.add(tab_temp) ;   
chemin_critique.add(temp_princ);   
taille = chemin_critique.size();   

}   
k++;   
}   
// Deuxième partie: l'affichage   
int tab[] = new int[5];   

for (i=0; i<taille; i++)   
{   
ArrayList temp2 = chemin_critique.get(i);   


for (j=0; j< temp2.size(); j++)   
{   
tab = chemin_critique.get(i).get(j);   
}   

System.out.print(Arrays.toString(tab));   

System.out.println("\n");   
}   

Avec ce code il m'affiche seulement la dernière opération trouvé 3 fois !!

Vos conseils SVP!!




A voir également:

2 réponses

Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
23 mars 2012 à 12:11
Bonjour,


A priori, je pense que cela vient du fait que tu ne re-initialise pas ton tableau tab_temp (d'ailleurs, ou est-il initialisé ?)


Essaye avec ça, et dis nous si c'est mieux ou non :

while (k<9)   
	{
		int[] tab_temp;
		int t =0;   
		if (solution_initiale[k][4]== 0)   
		{   
			
			

			for ( t=0; t<5;t++)   
			{   
				tab_temp[t]= solution_initiale[k][t];   
				
			}   

			ArrayList temp_princ = new ArrayList<int []>();   
			temp_princ.add(tab_temp) ;   
			chemin_critique.add(temp_princ);   
			taille = chemin_critique.size();   
			
		}   
		k++;   
	} 

0
petersone Messages postés 2 Date d'inscription vendredi 23 mars 2012 Statut Membre Dernière intervention 23 mars 2012
23 mars 2012 à 12:39
Ca marche tréés bien!!

Mercii merciii Merciiii infiniment
0