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 :

comparaison de Hashtables


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Par défaut comparaison de Hashtables
    Bonjour^^
    Je cherche à comparer les valeurs et les clés d'une Hashtable, elle-même contenue dans une Hashtable en tant que valeur (Hashtable<String, Hashtable>), avec d'autres Hashtables; Je ne sais pas du tout comment m'y prendre >< Need help =)

  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 : 45
    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
    tu pourrais préciser quels sont tes critères de comparaison et pourquoi la méthode equals ne te convient pas?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Par défaut
    En gros, je dois créer une méthode makeable (Hashtable ingrédients, Hashtable recette) qui doit retourner la liste des recettes possibles avec les ingrédients disponibles.

    On a ingrédients<nom, quantité> et recette<nom, <ingédients qu'il faut> > mais je ne sais pas comment manipuler tout ça...

  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 : 45
    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
    Le mieux serait ceci comme structure

    List<Ingredient> (listes des ingrédients)

    et Map<Recette,List<Ingredient>> (liste des recetes avec pour chaque une liste d'ingrédients)

    ensuite tu parcoure tes recettes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    List<Recette> makeable(Map<Recette,List<Ingredient>>  recettes,  List<Ingredient> disponibles){
      List<Recette> result = new ArrayList<Recette>();
      for (Map.Entry<Recette,List<Ingredient>> element : recettes.entrySet()){
        if (disponible.containsAll(element.getValue())
            result.add(element.getKey());
      }
      return result;
    }
    autre option
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    List<Recette> makeable(List<Recette> recettes,  List<Ingredient> disponibles){
      List<Recette> result = new ArrayList<Recette>();
      for (Recette recette: recettes){
        if (disponible.containsAll(recette.getIngredients())
            result.add(recette);
      }
      return result;
    }

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Par défaut
    Merci pour ta réponse, mais je ne vois pas comment une liste pourrait stocker l'ingrédient PLUS la quantité disponible...
    Ma Hashtable inventaire est comme ceci :
    sucre 5
    sel 2
    oeufs 3

    et et recette comme ça :
    gateau : sucre 2 oeuf 1
    omelette : sel 1 oeufs 2

  6. #6
    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 : 45
    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
    dans ce cas, tu fais deux boucles imbriquée et tu fais tout à la main.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Consultant PLM
    Inscrit en
    Août 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant PLM

    Informations forums :
    Inscription : Août 2007
    Messages : 203
    Par défaut
    Tu fais un objet "Nourriture", qui a 2 attributs :
    * 1 String : l'ingrédient lui-même
    * 1 Integer : la quantité

    Après, tu fais un objet "Inventaire", qui a 2 attributs :
    * 1 String : le nom du proprio du frigo [on ne fait jamais un programme que pour soi-même, il faut prévoir l'évolution]
    * 1 List<Nourriture>

    Et tu fais un objet "Recette", qui a 2 attributs :
    * 1 String : le nom de la recette
    * 1 List<Nourriture> : l'ensemble des ingrédients de la recette


    Par contre, ce que je constate, c'est qu'il faudrait voir pour définir correctement ta comparaison, car faire un equals est légèrement bête : si on imagine que tu as 3 oeufs dans ton frigo, et que ta recette en demande 2, je pense qu'il faudrait répondre OK sur le fait qu'on peut faire la recette. Je verrais plutôt un "contains" plutôt qu'un "equals".

Discussions similaires

  1. comparaison de 2 dates
    Par eisti dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2003, 11h33
  2. Comparaison de fichier
    Par danzerg dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 11h49
  3. Comparaison JBuilder avec Sun ONE Studio
    Par chichos dans le forum EDI et Outils pour Java
    Réponses: 4
    Dernier message: 13/11/2002, 15h08
  4. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25

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