1 pièce(s) jointe(s)
Itérateur dans une ArrayList 2d
Bonjour.
Je cherche comment implémenter un itérateur sur une ArrayList 2d.
J'utilise le code suivant, qui fonctionne parfaitement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| // Créations de l'array 2d
ArrayList2d<String> liste2d = new ArrayList2d<String>();
// Ajoute quelques éléments
liste2d.add(0, "Hello");
liste2d.add(1, "toto");
liste2d.add(0, "world!");
liste2d.add(1, "est un bon type");
// Boucles avec itérateur
for (int i = 0; i < liste2d.getNumRows(); i++) {
ArrayList<String> ls = liste2d.get(i);
for (int j = 0; j < ls.size(); j++) {
System.out.print(ls.get(j) + " ");
}
System.out.println();
}
// Boucles simplifiées
for (Iterator i = liste2d.iterator(); i.hasNext();) {
ArrayList<String> ls = (ArrayList<String>) i.next();
for (String s : ls) {
System.out.print(s + " ");
}
System.out.println();
} |
A la place de
Code:
1 2 3
| for (Iterator i = liste2d.iterator(); i.hasNext();) {
ArrayList<String> ls = (ArrayList<String>) i.next();
... |
J'aimerais pouvoir utiliser
Code:
1 2
| for (ArrayList<String> ls : liste2d) {
... |
Mais il y une erreur de types, et je ne vois pas comment le résoudre.
La classe ArrayList2d est jointe.
Merci d'avance,
Pascal