Incompréhension des itérateur et de mon code
Voilà j'ai une méthode qui fonctionne, mais que je dois transformé et utilisé les itérateurs. Malheureusement j'ai pas mal de difficulté avec les itérateurs et avec cette méthode:
Code:
private void createMediaList(List<List<String[]>> data)
Enfin voilà la méthode original :
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| private void createMediaList(List<List<String[]>> data) {
int indiceList = 0;
while(indiceList<= data.size()-1){
List<String[]> subData = listReader(data, indiceList);
Media aMedia = new Media();
aMedia.setAlbum(getStringField((subData.get(3))));
aMedia.setArtist(getStringField(subData.get(2)));
aMedia.setLocation(getStringField(subData.get(6)));
aMedia.setName(getStringField(subData.get(1)));
aMedia.setRating(stringToInt(getStringField(subData.get(5))));
aMedia.setTrack_ID(stringToInt(getStringField(subData.get(0))));
aMedia.setYear(stringToInt(getStringField(subData.get(4))));
this.basicAdd(aMedia);
indiceList++;
}
}
//PRE:-Le parametre L est une liste de liste de tableaux de String completement initialisee
// -Le parametre n est un entier positif
//POST:-La sous-liste dont l' indice est n est renvoyee
static List<String[]> listReader(List<List<String[]>> L, int n){
List<String[]> subList = L.get(n);
return subList;
}
//PRE:-tab est un tableau de String et est completement initialise
//POST:-Le String contenu dans la seconde case de tab est renvoyee
static String getStringField(String[] tab){
String field = tab[1];
return field;
}
//PRE:- s est un String contenant des caracteres representant un nombre entier
//POST:- L' entier represente par le String s est renvoye
static int stringToInt(String s){
int Int = Integer.parseInt(s);
return Int;
} |
Et la méthode que j'ai créer avec le manque de connaissance que j'ai sur les itérateurs:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Iterator <List<String>> iterateur = List<List<String[]>> data;
aMedia.getAlbum();
aMedia.getArtist();
aMedia.getLocation();
aMedia.getName();
aMedia.getRating();
aMedia.getTrack_ID();
aMedia.getYear();
for (List<List<String>> it : iterateur)
{it.hasNext();}
this.basicAdd(aMedia);
} |
J'aimerais donc que mon itérateur soient en Java 5