IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

vector et remplaçant


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Par défaut vector et remplaçant
    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 ?

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    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.

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    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++

  4. #4
    Membre éclairé Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Par défaut
    en fait niveau algo j'ai besoin d'un truc comme ça :

    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
    Je voudrais éviter de "perdre" mon objet en appelant à nouveau un constructeur sur ma liste.

    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 ????

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    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.

  6. #6
    Membre éclairé Avatar de Rniamo
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 508
    Par défaut
    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 ?

  7. #7
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Tu as la méthode ensureCapacity pour augmenter la taille (et ça recopie l'existant précédent).

  8. #8
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par Rniamo Voir le message
    Pour mon petit problème float*int=0, il y a une solution ?
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Struts] logic:iterate avec un Vector
    Par laurentb dans le forum Struts 1
    Réponses: 18
    Dernier message: 03/03/2004, 14h42
  2. vector et erase()
    Par gytr2 dans le forum SL & STL
    Réponses: 6
    Dernier message: 02/03/2004, 12h45
  3. equivalent Vector du jsp
    Par Djib dans le forum ASP
    Réponses: 4
    Dernier message: 05/12/2003, 08h07
  4. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21
  5. Réponses: 2
    Dernier message: 11/07/2003, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo