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 :

Liste Tableau multidimension


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
    Octobre 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 64
    Par défaut Liste Tableau multidimension
    Bonjour,

    Cela va sûrement vous paraître bidon mais je ne trouve pas ou comprend pas comment résoudre mon problème.

    Je souhaiterai avec une liste/tableau contenant un String et deux int que je pourrai implémenter en les retrouvant avec le String

    Ca donnerai :
    Bordeaux, 3, 6
    Marseille, 4, 1
    Paris, 19, 1

    Et je voudrai pouvoir faire en gros if = Paris, 19+1 qui donnerai
    Bordeaux, 3, 6
    Marseille, 4, 1
    Paris, 20, 1

    Je ne sais pas quelle structure utiliser ^^.

    Merci d'avance si vous pouvez me guider.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Pour retrouver un objet à partir d'un autre objet : une Map. En l'occurrence HashMap devrait faire l'affaire.

    Supposons que tu n'aie qu'un seul int associé à une ville, pour l'instant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Map<String, Integer> villes = new HashMap<String, Integer>();
    villes.put("Bordeaux", 3);
    villes.put("Marseille", 4);
    villes.put("Paris", 19);
     
    // ...
     
    String ville = getUneVille();
    Integer villeCount = villes.get(ville);
    if(villeCount == null) {
      // la ville n'existe pas.
    } else {
      // la ville existe. Ajouter 1
      villes.put(ville, villeCount + 1);
    }
    Vu que tu as deux ints et pas un, je suggère de créer une petite classe pour contenir les deux ints :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class IntPair {
      public int count;
      public int truc;
      public IntPair(int count, int truc) {
        this.count = count;
        this.truc = truc;
      }
    }
    Et de mettre ça dans la Map :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Map<String, IntPair> villes = new HashMap<String, IntPair>();
    villes.put("Bordeaux", new IntPair(3, 6));
    //
    Adapter le reste du code à ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 64
    Par défaut
    Merci Beaucoup, c'est parfait !

    Je galère juste encore un peu pour afficher le HashMap

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

Discussions similaires

  1. [FLASH 8] Problème tableau multidimension
    Par julien.63 dans le forum Flash
    Réponses: 8
    Dernier message: 01/12/2006, 17h29
  2. [Tableaux] Tableau multidimension dans mysql
    Par wkd dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2006, 16h33
  3. [Tableaux] Recherche dans un tableau multidimension
    Par licorne dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2006, 15h46
  4. [Tableaux] créer un tableau multidimension
    Par zimotep dans le forum Langage
    Réponses: 2
    Dernier message: 18/03/2006, 17h18
  5. Réponses: 7
    Dernier message: 14/02/2005, 10h40

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