Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ? tongue


"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 !!

®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 smile


"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 !!

nicolas66 a écrit :
®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 smile

tongue

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