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 :

Ajout de données dans une ArrayList


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
    Février 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 14
    Par défaut Ajout de données dans une ArrayList
    Bonjour, j'ai un soucis avec la gestion d'un ArrayList.
    Il s'agit d'une gestion de commande de fournitures. Une "ligne" de ma list doit au final contenir un nom, un article, et une quantité.
    En utilisant un constructeur de type (String, Article, int) je n'ai pas de soucis tout est bien ajouté.
    Seulement je voudrais créer une commande avec seulement le nom et plus tard lui ajouter articles et quantité.

    Mon main ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Commande uneCommande = new Commande("Alex");
     
    Stylo unStylo = new Stylo(....); // Création d'un article
     
    uneCommande.addLigne(unStylo, 3); // on commande 3 stylos "unStylo"
    Mon problème c'est donc le "addLigne". Je ne vois pas comment "ajouter" les informations à un objet déjà créé.
    Merci de votre aide.

  2. #2
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Je ferais plutôt une map des articles avec en regard la quantité :

    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
    16
    17
    18
    class Commande  {
     
       String nom;
       Map<Article, Quantite> mapArticles = new HashMap<Article, Quantite>();
     
       public void addLigne(Article unArticle, int enQuantite) {
          Quantite quantite = mapArticles.get(unArticle);
          if (quantite == null) {
             quantite = new Quantite();
             mapArticles.put(unArticle, quantite);
          }
          quantite.n += enQuantite;
       }
    }
     
    class Quantite {
       int n;
    }

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 14
    Par défaut
    N'y a t il pas un moyen d'appeller un constructeur de Commande depuis la méthode addLigne ?
    J'aurais ainsi dans commande deux constructeurs

    Commande(String nom); // Pour la premiere création de commande
    Commande(String nom, Articles a, int q); // Pour lorsque je veux ajouter

    Et dans addLigne je voudrais faire un appel au second.

    (je suis sûr que cela doit fonctionner avec Map comme tu me le conseil, mais je n'ai pas encore vu ça, et l'exercice était faisable sans, donc soit je cherche trop compliqué, soit je loupe un truc evident )

  4. #4
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    addLigne est bien une méthode de Commande ? quelle est sa signature ?

  5. #5
    Membre averti
    Inscrit en
    Février 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 14
    Par défaut
    Oui addLigne est bien une méthode de Commande. Qu'appelles-tu "sa signature" ?

  6. #6
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    Par exemple dans un message plus haut, on trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void addLigne(Article unArticle, int enQuantite)
    c'est la signature de la méthode addLigne

    Je ne comprends pas bien, une commande est-elle composée de plusieurs articles, chacun dans une quantité donnée ?
    Si c'est la cas je ne vois pas en quoi la méthode addLigne devrait appeler un constructeur de Commande puisque addLigne est une méthode de Commande !

Discussions similaires

  1. Ajout de données dans une ArrayList
    Par k-sper dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 14/11/2010, 23h27
  2. Ajout de données dans une requête
    Par remi59 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/06/2006, 10h30
  3. Réponses: 8
    Dernier message: 24/02/2006, 09h59
  4. ajouter des données dans une requête htttp en js
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2005, 15h34

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