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 :

Matrice de HashMap


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut Matrice de HashMap
    Bonjour;
    je veux créer une matrice dynamique de type HashMap:

    HashMap<String,Double>[][] graphPrec = {{ new HashMap<String,Double> }};

    il me signale cette erreur:
    Cannot create a generic array of HashMap<String,Double>


    Heeeeeeeeeeelp

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    C'est une limitation des tableaux en java. On ne peux pas créer des tableaux avec des types génériques. Parceque le typage n'est pas utilisé pour le tableau.
    On ne peux donc pas faire new T[] avec T un type générique, ni new X<Y>[]. Et c'est implicitement ce que fait votre code.

    une solution, qui ne déclenche qu'un warning:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    		HashMap<String,Double> table[][] = new HashMap[][]{{new HashMap<String,Double>()}};
    Mais c'est pas parfait :s. C'est une plainte sur les generics depuis le début, cette histoire de tableaux. Espérons que oracle corrigera ça avec la réification des classes génériques qu'on nous promet pour java 8

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut
    Bonjour tchize;
    Merciiiiiiiiii pour votre réponse.
    ça passe, on ne me signale plus l'erreur.
    Le problème mnt est lorsque j'essaye de remplir qlq ligne pour tester:

    ((HashMap<String, Double>) graphPrec[0][0]).put("T01", 3.2);
    ((HashMap<String, Double>) graphPrec[0][1]).put("T02", 1.2);

    ça compile mais à l’exécution ça déclenche l'exception suivante au niveau du remplissage de la 2em case:

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    c'est normal, vous n'avez créé qu'un tableau de taille [1][1], il n'y a pas de deuxième éléments.

    Au passage votre structure est bizarre, vous essayez de faire quoi avec ça?

  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut
    En fait; Je veux définir un graphe de précédence des tâches.
    une case de la matrice est un dictionnaire {refTâche : duréeTâche}
    une ligne de la matrice est composée de deux cases:
    - la case 0: la tâche Courante
    - la case 1: la tâche Suivante

    (Je passe cette structure à une fonction qui calcule le temps de repos entre les tâches)

  6. #6
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut
    vous n'avez pas d'idées sur une structure plus simple à implémenter qui répond à ce que je viens d'expliquer ?

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

Discussions similaires

  1. Convertir un hashmap vers une matrice
    Par DionCeli dans le forum Collection et Stream
    Réponses: 23
    Dernier message: 14/01/2010, 15h53
  2. [CR] entête et pied sur page 1/B de matrice
    Par chloe.j3 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 04/09/2002, 12h07
  3. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44
  4. Gestion de matrice
    Par bzd dans le forum C
    Réponses: 4
    Dernier message: 12/08/2002, 18h19
  5. Comment définir le type matrice ?
    Par charly dans le forum Langage
    Réponses: 7
    Dernier message: 15/06/2002, 21h01

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