Bonjour,
j'ai crée une liste de type vector , qui contient des objets de type entier ( Integer), comment parcourir ma liste pour trouver le maximum et le minimum?
merci.
Bonjour,
j'ai crée une liste de type vector , qui contient des objets de type entier ( Integer), comment parcourir ma liste pour trouver le maximum et le minimum?
merci.
Le type Vector est "vieux" et date d'anciennes versions de JAVA.
Si tu n'es pas obligée d'utiliser ce type d'objets, je te suggère vivement de le remplacer par une ArrayList.
Si tu tiens vraiment à utiliser un Vector, voici un bout de code qui devrait t'aider:
Evidemment, tu peux t'en inspirer pour écrire une méthode getMin().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public Integer getMax(Vector v) { Integer result = Integer.MIN_VALUE; Integer temp = null; for(int i=0; i<v.size(); i++) { temp = (Integer) v.get(i); if(temp.intValue() > result.intValue()) { result = temp; } } return result; }
Au passage, si tu changes ton Vector en une ArrayList (ou une LinkedList), le code ci-dessus marche encore: il suffit de changer le type du paramètre de la méthode![]()
Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
Mes articles et tutoriaux & Mon blog informatique
Pour ce qui est de Vector, tu peux oublier dans les cas simples, il vaut mieux utiliser une ArrayList (ArrayList<Integer> ici).
Pour le max :
(grillé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 List<Integer> ta_liste = new ArrayList<Integer>(); ... int max = -1; for(Integer i:ta_liste) { if(i>max) max = i; }
Au final j'ai trouvé plus simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Collections.max(ta_liste);
Euh... Je ne vois pas en quoi ArrayList est plus simple que Vector. Ces deux classes implémentent toutes deux les mêmes méthodes...
Il n'est pas plus simple, il est juste "à préférer" si tu l'utilise dans des applications mono-threadées. Vector est synchronisé, ce qui signifie que la JVM effectuera toutes sortes de tests pour sécuriser ton code exécuté sur le vector en cas d'accès concurent, ce qui n'est pas le cas de ArrayList.Envoyé par Rayndell
CF : http://fmora.developpez.com/tutoriel...mediaire/#L5.1
Fred
De plus Vector est voué à disparaitre...
Si vraiment tu as besoin d'une collection de type ArrayList synchronisée, tu peux très bien le faire en la créant de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 List list = Collections.synchronizedList(new ArrayList(...));
Ah bon ? Tu as lu ça ou ?Envoyé par iohack
Fred
Partager