Bonjour.
Je cherche comment implémenter un itérateur sur une ArrayList 2d.
J'utilise le code suivant, qui fonctionne parfaitement :
A la place de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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(); }
J'aimerais pouvoir utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for (Iterator i = liste2d.iterator(); i.hasNext();) { ArrayList<String> ls = (ArrayList<String>) i.next(); ...
Mais il y une erreur de types, et je ne vois pas comment le résoudre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for (ArrayList<String> ls : liste2d) { ...
La classe ArrayList2d est jointe.
Merci d'avance,
Pascal
Partager