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

Résolu
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!!

2 réponses

  1. 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++;   
    	} 
    

    1. Ca marche tréés bien!!

      Mercii merciii Merciiii infiniment