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 :

List<String> v = new Vector<String>() ou Vector<String> v = new Vector<String>()


Sujet :

Collection et Stream Java

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 84
    Par défaut List<String> v = new Vector<String>() ou Vector<String> v = new Vector<String>()
    Bonjour,

    Pour créer une liste v, que vaut-il mieux faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<String> v = new Vector<String>();
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vector<String> v = new Vector<String>()
    Puisque finalement ça revient au même, la classe Vector implémentant la classe List...

    Merci.

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Le type Vector est deprecated, dans la documentation, on peut voir sa définition.

    Citation Envoyé par Documentation
    A program element annotated @Deprecated is one that programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists. Compilers warn when a deprecated program element is used or overridden in non-deprecated code.
    L'objet ArrayList serait une alternative...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 84
    Par défaut
    Ok merci pour le lien (bien que je n'ai pas encore toutes les connaissances nécessaires pour comprendre pourquoi on évite d'utiliser Vector "synchronize objetcts" ?)

  4. #4
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,
    Citation Envoyé par fred1599 Voir le message
    Le type Vector est deprecated, dans la documentation, on peut voir sa définition.
    Non, la classe Vector n'est pas deprecated, elle est simplement à éviter car il est préférable d'utiliser son équivalent non synchronisé qu'est l'ArrayList.

    Quoi qu'il en soit, il est préférable de typer ses objets, lorsque cela est possible, avec l'interface qu'implémente l'objet que l'on instancie. L'intérêt est la généricité, ce qui favorise la factorisation de méthodes, donc la réutilisabilité.

    En d'autres termes, on peut voir l'intérêt de cette bonne pratique une fois qu'on sait vraiment coder en pensant à la testabilité, l'évolutivité et à la maintenabilité du code. Il ne faut donc pas se priver d'appliquer ce principe même si on n'en saisit pas encore toute la finalité.
    Citation Envoyé par Glork Voir le message
    (bien que je n'ai pas encore toutes les connaissances nécessaires pour comprendre pourquoi on évite d'utiliser Vector "synchronize objetcts" ?)
    La synchronisation a toujours un cout donc il vaut mieux l'éviter lorsque ce n'est pas strictement nécessaire...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 84
    Par défaut
    D'accord.
    Merci.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/09/2010, 22h33
  2. determiner la dimention en kb d'un vector<string>
    Par philippe V dans le forum SL & STL
    Réponses: 7
    Dernier message: 23/03/2005, 23h58
  3. difference entre vector, deque, list et tableau
    Par salseropom dans le forum SL & STL
    Réponses: 8
    Dernier message: 03/01/2005, 13h35
  4. [STL] vector<string> et appel de fonctions.
    Par guejo dans le forum MFC
    Réponses: 4
    Dernier message: 08/10/2004, 17h36
  5. [Collections] Conversion de Vector en tableau de String
    Par java_math dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 06/06/2004, 12h55

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