Pages : 1
#1 Le 18/11/2008, à 15:50
- kolmalou
[Java] Les arrayList !!
Bonjour, Voici un probleme bete :
j'ecris ca :
ArrayList<ArrayList<Integer>> gain = new ArrayList< ArrayList<Integer> >(1000);
System.out.println(""+gain.size());
et il me dit 0.
Ca me gene beaucoup.
j'espere que ici peut eter vous pourrez m'aider merci d'avance et bonne journée.
Hors ligne
#2 Le 18/11/2008, à 16:39
- nicolas66
Re : [Java] Les arrayList !!
Si ton tableau est vide, c'est normal que le nombre d'éléments est 0 non ?
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#3 Le 18/11/2008, à 16:40
- ®om
Re : [Java] Les arrayList !!
Ton 1000 indique la capacité initiale du tableau sous-jacent à l'ArrayList, et .size() te retourne le nombre d'éléments (donc 0).
D'ailleurs :
gain.add(new ArrayList<Integer>());
System.out.println(gain.size()); //affiche 1
Hors ligne
#4 Le 18/11/2008, à 16:51
- nicolas66
Re : [Java] Les arrayList !!
Ton 1000 indique la capacité initiale du tableau sous-jacent à l'ArrayList, et .size() te retourne le nombre d'éléments (donc 0).
D'ailleurs :
gain.add(new ArrayList<Integer>()); System.out.println(gain.size()); //affiche 1
Encore heureux
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#5 Le 18/11/2008, à 19:05
- ®om
Re : [Java] Les arrayList !!
®om a écrit :Ton 1000 indique la capacité initiale du tableau sous-jacent à l'ArrayList, et .size() te retourne le nombre d'éléments (donc 0).
D'ailleurs :
gain.add(new ArrayList<Integer>()); System.out.println(gain.size()); //affiche 1
Encore heureux
Hors ligne
#6 Le 18/11/2008, à 23:47
- kolmalou
Re : [Java] Les arrayList !!
Tres Bien ! merci pour vos reponses je me situe un peu mieux le probleme.Mais ce que je ne comprends pas c'est cette erreur :
public ArrayList<Triplet<Integer,Integer,Integer>> TriSelonF(ArrayList<Triplet<Integer,Integer,Integer>>array){
int n = array.size();
for(int i=0;i<n;i++){
for( int p=n;p>i+1;p--){
if(array.get(p).getF()<array.get(p-1).getF()){
Triplet<Integer,Integer,Integer> tri = array.get(p);
array.add(p,array.get(p-1));
array.add(p-1,tri);
}
}
}
a la compilation tout va bien mais lors de l'execution, il me dit que dans le "if" je depasse la taille du tableau..Pouvez vous me dire juste si ce code est correct ou si c'est dans la creation des tableaux à trier que le bas blesse.
Enfin encore merci je vous dois une fiere chandele !
Hors ligne
#7 Le 19/11/2008, à 01:24
- kolmalou
Re : [Java] Les arrayList !!
Oui en fait je voudrais faire une matrice de n*n elements
donc comme vous l'avez suggeré je fais donc ca :
ArrayList<ArrayList<Integer>> gain = new ArrayList< ArrayList<Integer> >(TTest.getTaille()+2);
for(int i=0;i<TTest.getTaille();i++){
gain.add(i,new ArrayList<Integer>(TTest.getTaille()+2));
System.out.println(""+gain.get(i).size());
}
alors ok. Mais le truc c'est qu'il faudrait pour que mon programme fonctionne que tout ses elements (à la matrice) soient initialisés à 0. donc pour cela voilà ce que j'ai tapé :
for(int i=0;i<TTest.getTaille()+2;i++){
for(int j=0;j<TTest.getTaille()+2;j++){
// System.out.println(""+i);
gain.get(i).add(j,0);;
}
Mais ca, ca ne semble pas fonctionner du tout...
Hors ligne
Pages : 1