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

Langage Java Discussion :

Initialisation de list proche des tableaux


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Mik ArBer
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Par défaut Initialisation de list proche des tableaux
    Bonjour à tous,

    Connaissez-vous une syntaxe permettant d'initialiser une liste (très pratique pour les tests), proche de celle des tableaux :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // syntaxe des tableaux
    String[] list = new String[]{"Un","Deux","Trois"};
    // syntaxe des listes
    List<String> list =  new ArrayList<String>()

    Merci d'avance.

    Mik

  2. #2
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    Bonjour,

    je ne comprends pas trop ce que tu souhaites faire? déclarer les éléments d'une liste à sa propre déclaration?

    L'intêret? L'arrayList n'est alors plus utile...

    Et en quoi cela facilite les tests? les méthodes fournies par ArrayList et les collections en général sont très pratiques en ce qui concerne des tests de contenance ou des tests de taille.

    Sinon, en plus du constructeur vide tu as:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList(Collection c)

    Qui construit une liste contenant les éléments de la collection c dans l'ordre qui est fourni par l'iterateur de cette collection. (Ça se rapproche de ce que tu veux)

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList(int initialCapacity)

    Qui construit une liste avec une borne supérieure

  3. #3
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Ça peut être utile de déclarer une liste avec des élément à ça déclaration comme pour un tableau mais ce n'ai pas faisable a ma connaissance :s

    Peut être dans java7 lol

  4. #4
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Citation Envoyé par Mik ArBer Voir le message
    Bonjour à tous,

    Connaissez-vous une syntaxe permettant d'initialiser une liste(très pratique pour les tests), proche de celle des tableaux :

    Mik
    Citation Envoyé par Tux++ Voir le message
    Bonjour,

    je ne comprends pas trop ce que tu souhaites faire? déclarer les éléments d'une liste à sa propre déclaration?
    Ben comme il le dit, c'est pour un test donc je suppose qu'il a une méthode qui traite une liste et qu'il veut faire un test unitaire en lui passant une liste exemple.


    Mik ArBer, il y a un moyen de faire ce qui tu veux en passant par un tableau temporaire et par la méthode asList de la classe Arrays.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String[] tempArray = new String[]{"Un","Deux","Trois"};
    List<String> list = Arrays.asList(tempArray);




    A+

  5. #5
    Membre expérimenté Avatar de Tux++
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    281
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 281
    Par défaut
    ah vu comme ça...je n'avais pas compris 'tests' comme ça, enfin à mon goût l'utilité en reste limitée mais ce n'est que mon avis

  6. #6
    Membre éprouvé
    Avatar de Mik ArBer
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Par défaut
    Merci beaucoup pour vos réponses,

    Pour DeadPool : Ta solution en deux lignes avec la classe Array est certainement la meilleur. Etant fainéant, je la préfère nettement à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    list.add("Un");
    list.add("Deux");
    list.add("Trois");
    Pour Unknown : J'espère comme toi qu'il y aura une évolution sur ce point dans les prochaines versions du langage. Car comme indiqué dans la dernière version de Java Efficace de Bloch( livre indispensable à tous dévellopeurs Java). Il est bien plus aisé de n'utiliser que les List et autres classes similaires et de ne pas trop les mélanger avec les Arrays.

    Pour Tux++ : La supposition d'utilisation de mes tests faite par Deadpool est la bonne, il est très courant d'initialiser des listes de données pour tester des composants logiciels, unitairement ou même pour de la qualification d'application.
    L'utilité d'une syntaxe du type initialisation d'Array est certes limité, car d'ordre esthétique. Mais personnellement, je préfère les syntaxes les plus simples possibles car plus lisible. Et n'utilisant pratiquement plus les Arrays car maintenant l'interface 'List' est typé( merci les Generics), j'ai une petite frustration à ne pas avoir une syntaxe aussi simple à l'initialisation.

    A+

    Mik

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2009, 09h36
  2. Affichage des tableaux dans la liste des tableaux
    Par Hello_World dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 4
    Dernier message: 11/05/2009, 02h50
  3. De l'initialisation des tableaux dynamiques de Record
    Par metanil dans le forum Langage
    Réponses: 13
    Dernier message: 03/01/2008, 16h54
  4. Faire apparaître la liste des tableaux et des figures dans la TDM
    Par Aline2611 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 7
    Dernier message: 07/06/2007, 15h11
  5. Liste des tableaux vides
    Par liberio dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 27/11/2006, 17h31

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