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

avec Java Discussion :

Alimenter une collection Set<Taxe> à partir d'une collection de Type Set<String>


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Alimenter une collection Set<Taxe> à partir d'une collection de Type Set<String>
    Bonjour,

    Je bute sur le problème évoqué dans l'intitulé de ma question.
    Je récupère une collection de String après un split(), donc j'ai un tableau transformé en liste puis en collection de type Set<String>
    Je dois alimenter une collection de type private Set<Taxe> lesTaxe; attribut de ma classe Recapitulatif, des données de cette collection de String.
    Comment faire ?
    Un petit exemple ?

    Par avance merci de votre aide

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tout dépend d'abord de ta classe Recapitulatif. Quelle(s) méthode(s) a-t-elle pour affecter cette varaible Set<Taxe> ? Par exemple, y-a-t-il une méthode qui permet d'ajouter un Taxe genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Recapitulatif {
     
         private final Set<Taxe> taxes = new HashSet<>();
     
         public void addTaxe(Taxe taxe) {
              taxes.add(taxe);
         }
     
    }
    Ou a-t-elle une méthode qui permettrait d'affecter plusieurs taxes, genre, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Recapitulatif {
     
         private final Set<Taxe> taxes = new HashSet<>();
     
         public void addTaxes(Collection<Taxe> taxes) {
              this.taxes.addAll(taxes);
         }
     
         public void setTaxes(Collection<Taxe> taxes) {
              this.taxes.clear();
              this.taxes.addAll(taxes);
         }
     
    }
    Ensuite, et bien, il faut surtout savoir convertir un String en Taxe, et là, ne connaissant pas ce qu'est un Taxe, je ne peux pas te répondre à ce sujet.

    Ensuite, il suffit de parcourir le résultat de ton tableau résultat de String, d'appliquer la méthode de conversion String en Taxe pour chaque, et de générer la variable en adéquation avec la méthode de Recapitulatif, et l'appeler.

    Genre par exemple, à l'ancienne par boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    String[] taxes = machin.spli(...);
    for(String t : taxes) {
         Taxe taxe = Taxe.from(t); // converti String en Taxe
         recap.add(taxe);
     
    }
    Ou par Stream, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String[] taxes = machin.spli(...);
    recap.addTaxes( Arrays.stream( taxes ).map(Taxes::from).collect(Collectors.toList());

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci de m'apporter votre aide.

    Je vais m'orienter vers la création d'une méthode type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Recapitulatif {
    *
         private final Set<Taxe> taxes = new HashSet<>();
    *
         public void addTaxe(Taxe taxe) {
              taxes.add(taxe);
         }
    *
    }
    car pour le moment je n'ai pas créé de méthode particulière pour ajouter une Taxe.
    Parcourir ma collection de String à l'aide d'une boucle for et convertir mes string en Taxe (classe qui possède deux attributs String code et String libelle) et faire un add de ces objets dans la collection de type Taxe me parait être une très bonne piste.
    Merci beaucoup pour ces précieux conseils, je reviens prochainement sur la discussion pour passer en résolu ou pour la poursuivre si besoin.
    Bon week-end

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/05/2014, 09h39
  2. alimenter un progiciel N TIERS à partir d'une appli Delphi X4
    Par yomismo dans le forum Web & réseau
    Réponses: 9
    Dernier message: 17/10/2013, 14h40
  3. Réponses: 3
    Dernier message: 14/08/2012, 10h24
  4. Réponses: 0
    Dernier message: 26/10/2009, 15h02
  5. generer une image bitmap a partir d'une scene OGL
    Par FreshLog dans le forum OpenGL
    Réponses: 4
    Dernier message: 01/07/2003, 11h29

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