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 :

tableau de vecteurs


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut tableau de vecteurs
    salut à tous,

    Je cherche une solution un peu plus élégante à mon problème:

    Je dois disposer d'un tableau à 2 dimensions. La première dimension est fixe, la 2eme ne l'est pas.

    J'ai donc défini un tableau de vecteurs comme suit :

    public class Machin{

    private Vector<Bidule>[] bidules;
    ...
    }
    Apparament, l'idée de créer un tableau de vecteur fait sursauter pas mal de développeurs java. Je ne vois pas ce qu'il y a de choquant, par contre au moment d'instancier le membre bidules, les solutions possibles ne sont pas très élégantes :

    bidules = new Vector[ size ]; // type générique non spécifié
    bidules = ( Vector<Bidule>[] ) new Vector[ size ]; //beurk


    Une autre solution consisterait à créer plutot un vecteur de vecteur (aulieu d'un tableau de vecteur) :

    bidules = new Vector< Vector<Bidule> >( size );

    , mais est-ce mieux étant donné que la première dimension est fixe?

    Merci pour vos avis sur la question.

  2. #2
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Les vector ne tombent t'ils pas en désuétude?
    Il me semble qu'il faut préférer les ArrayList.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  3. #3
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    oui, c'est vrai il faut préférer les ArrayList, car elles sont plus performantes

    mais rien ne tempêche de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Bidule>[] bidules = new ArrayList<Bidule>[size];
    Je ne trouve pas ca déplaisant, mais c'est mon avis

  4. #4
    Membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    en fait j'ai besoin de la synchronization des vecteurs pour mon appli, donc je prefere ne pas utiliser d'ArrayList

  5. #5
    Membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par wichtounet
    oui, c'est vrai il faut préférer les ArrayList, car elles sont plus performantes

    mais rien ne tempêche de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Bidule>[] bidules = new ArrayList<Bidule>[size];
    Je ne trouve pas ca déplaisant, mais c'est mon avis
    en effet cette solution est élégante et logique mais malheureusement on ne peut pas créer de tableaux génériques d'une classe en java, il y a donc une erreur de syntaxe

  6. #6
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Pour info, il est possible d'utiliser une collection comme une ArrayList et de la synchroniser grâce à la méthode synchronizeList de la classe Collections
    Pour chaque langage existe une faq / N'oubliez pas de lire les règles du forum

  7. #7
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par foxdie
    en effet cette solution est élégante et logique mais malheureusement on ne peut pas créer de tableaux génériques d'une classe en java, il y a donc une erreur de syntaxe
    Ah merde, je savais pas ca J'avais jamais essayé... Desolé

  8. #8
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    arraylist de vecteurs?

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Citation Envoyé par foxdie
    Je dois disposer d'un tableau à 2 dimensions. La première dimension est fixe, la 2eme ne l'est pas.
    Attention qu'en Java, les tableaux à deux dimensions sont en fait des tableaux de tableaux.
    Donc, tu pourrais écrire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Bidules[][] tableau = new Bidules[10][]
    Et ensuite faires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tableau[1] = new Bidules[20];
    tableau[2] = new Bidules[30];
    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  10. #10
    Membre du Club

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    c'est gentil, mais comme je le disais, la deuxième dimension ne doit pas etre fixe. Je souhaite pouvoir ajouter dynamiquement des "Bidule" donc un tableau de tableau ne convient pas.

    Je pense que je vais en rester au Vecteur de Vecteur ( ou ArrayList de ArrayList )

Discussions similaires

  1. Créer un tableau de vecteurs
    Par waldoun dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 02/05/2008, 23h42
  2. [FORMS 6i] Tableau et vecteur
    Par kikouu dans le forum Forms
    Réponses: 4
    Dernier message: 09/04/2008, 18h55
  3. Tri Tableau Matrice vecteur
    Par french_aspi dans le forum MATLAB
    Réponses: 9
    Dernier message: 24/03/2008, 14h50
  4. Tableau de vecteur
    Par romanegr dans le forum C++
    Réponses: 6
    Dernier message: 19/12/2007, 11h30
  5. Création d'un tableau de Vecteur de String
    Par Claythest dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 29/11/2006, 17h43

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