bonjour, j'ai vu que les Vector étaient "déprécié" dans la FAQ, or j'ai besoin de dimensionné une "List" (arraylist a priori) avant de la remplir, comment faire proprement ?
bonjour, j'ai vu que les Vector étaient "déprécié" dans la FAQ, or j'ai besoin de dimensionné une "List" (arraylist a priori) avant de la remplir, comment faire proprement ?
ArrayList dispose d'un constructeur qui permet d'initialiser avec une capacité : http://java.sun.com/j2se/1.4.2/docs/...ArrayList(int)
Ensuite, ça s'utilise pareil qu'un Vector.
Salut,
Vector n'est pas vraiment déprécié (au sens Java), mais plutôt déconseillé pour deux raisons :
- Son API n'est pas très propre (plusieurs méthodes en double).
- Elle est thread-safe et donc potentiellement moins performante en mono-thread.
De plus avec la "nouvelle" API de Collections de Java 1.2, il est plutôt conseillé d'utiliser Collections.synchronizedList() pour obtenir une instance thread-safe...
La solution est donc bien de passé par une ArrayList, qui fonctionne de la même manière.
a++
en fait niveau algo j'ai besoin d'un truc comme ça :
Je voudrais éviter de "perdre" mon objet en appelant à nouveau un constructeur sur ma liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 List l; int taille=...; l.clear(); l.resize(taille); Pour i<-0 à taille-1 Faire l[i]=blabla; FinPour
Enfin quand j'ai essayé avec ArrayList, il m'agrandissait la liste malgré l'appel au constructeur : ex je crée un liste de 10 éléments et j'en obtiens 15.
edit : j'ai un "truc" bizarre dans mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 float perCent=1/2; int numInst=0, numJob, pCcurrent; numJob=(int) (perCent * 10);//=0.0 ????
T'es sûr que tu veux utiliser une liste ?
Normalement, on ajoute les éléments d'une List via un add et pas à l'aide d'un indice.
En fait il me faut un tableau de taille variable, une liste correspond pas mal à la logique du programme...(en fait j'ai une liste mais je ne la remplie pas forcément séquentiellement d'où le dimmensionnement)
Pour mon petit problème float*int=0, il y a une solution ?
Tu as la méthode ensureCapacity pour augmenter la taille (et ça recopie l'existant précédent).
Code : Sélectionner tout - Visualiser dans une fenêtre à part numJob=(int) (perCent * 10f);
N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
Que la force de la puissance soit avec le courage de ta sagesse.
Partager