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 :

Initialiser un vector lors de sa création


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 17
    Par défaut Initialiser un vector lors de sa création
    Salut,

    Je souhaiterais pouvoir initialiser un vector lors de sa création mais je n'y parviens pas... :'(

    en gros, au lieu de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Vector<String> vector = new Vector();
    vector.add("abc");
    vector.add("toto");
    vector.add("foo");
    methodeQuiFaitDesTrucs(vector);
    je voudrais faire quelque chose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    methodeQuiFaitDesTrucs(new Vector({"abc","toto","foo"}));
    Est-ce possible ?

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Ce n'est pas possible avec Vector.

    Tu pourrais le faire avec un tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    methodeQuiFaitDesTrucs(new String[]{"abc","toto","foo"});
    PS : En général l'usage d'ArrayList est préférable à celle de Vector.

  3. #3
    Membre expérimenté

    Étudiant
    Inscrit en
    Mai 2006
    Messages
    200
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 200
    Par défaut
    Bonjour, le seul constructeur de la classe Vector qui permet d'initialiser le Vector avec des valeurs est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vector(Collection<? extends E> c)
    et pour obtenir une Collection initialiser comme tu le souhaite tu peux utiliser la méthode de la classe Arrays :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static <T> List<T> asList(T... a)
    ce qui donne ensemble :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Vector<String>(Arrays.asList("coucou", "salut", "hello"))

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    List<String> list = new ArrayList<String>();
    Collections.addAll(list, "unélément", "undeuxième", "autantquonveut", "allezencoreun");
    Sinon on peut toujours faire ça mais c'est moins propre et moins lisible (je trouve) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<String> list = new ArrayList<String>() { { add("unélément"); add("undeuxième"); add("autantquonveut"); add("allezencoreun"); }};
    Pour le Array.asList, inutile ici de rajouter ce calcul au runtime...

    PS: répétez après moi :
    Vector, ça n'existe plus, Vector, ça n'existe plus, Vector, ça n'existe plus...

Discussions similaires

  1. Réponses: 10
    Dernier message: 01/04/2013, 10h48
  2. Réponses: 2
    Dernier message: 29/08/2012, 11h05
  3. Réponses: 4
    Dernier message: 28/07/2009, 21h01
  4. [JTable] Problème lors de la création via Vector
    Par Shurka dans le forum Composants
    Réponses: 6
    Dernier message: 13/08/2007, 12h48
  5. Comment initialiser un vector à sa création ?
    Par Clad3 dans le forum SL & STL
    Réponses: 7
    Dernier message: 10/12/2004, 15h01

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