Bonjour.

Actuellement, nous avons des applications (Web mais problématique idem en "non-web") en java 1.4. Nous allons les passer en Java 1.6 et j'aurais voullu connaitre les bonnes pratiques. Je m'explique.

En 1.4 :
Lorsque nous faisons une requete sur une table PERSONNE (par exemple), nous récupérons un ResultSet que nous chargons dans un Vector, ce qui nous fait un Vector de Personne.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
 Vector resultat=new Vector();
 ResultSet rs = s.executeQuery(requete);
 while(rs.next())
      {
        String mat = rs.getString(1);
        ...
        Personne personne = new Personne(mat,...);
        resultat.add(personne);
     }
    return resultat.elements();
Ensuite, pour afficher la liste de résultat dans la JSP, nous utilisons une Enumeration (passées dans un paramètre) et bouclons dessus :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 Enumeration personnes = (Enumeration) request.getAttribute("personnes");
  while (personnes.hasMoreElements())
  {
    Personne pers = (Personne) personnes.nextElement();
...
   }
En Java 1.6, j'ai cru lire qu'il fallait mieux éviter d'utiliser les Enumeration, et utiliser les Iterator (pour utiliser la nouvelle boucle for)
L'idéal est-il de mettre le ResultSet dans une ArrayList, puis d'utiliser un Iterator à a place de l'Enumeration?
ou de continuer à utiliser des Vector (ou d'autres types List, LinkedList...)?
Ou utiliser des ListIterator au lieu d'Iterator?

Merci d'avance