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

Résolu
petersone Messages postés 2 Statut Membre -  
petersone Messages postés 2 Statut Membre -
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. Mopra-L Messages postés 151 Date d'inscription   Statut Membre Dernière intervention   6
     
    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
  2. petersone Messages postés 2 Statut Membre
     
    Ca marche tréés bien!!

    Mercii merciii Merciiii infiniment
    0