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 :

Java Array List


Sujet :

avec Java

Vue hybride

Invité Java Array List 07/06/2021, 15h35
thelvin Hello, Ben, tout comme tu... 08/06/2021, 01h20
Invité Ah oui effectivement, j'avais... 08/06/2021, 09h40
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Java Array List
    J'ai un objet Employé avec les attributs :

    String nom, String Prenom, List<Facture>

    Un objet Facture avec les attributs :

    String numero, String type

    Je parcours un fichier XML et je récupère les informations pour remplir mes objets, à la fin du parse du fichier XML j'ai une liste d"employé

    J'ai un soucis pour remplir ma List<Facture>

    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
    19
    20
    21
    22
    23
    if (xmlEvent.isStartElement()){
                        StartElement startElement = xmlEvent.asStartElement();
                        if(startElement.getName().getLocalPart().equals("facture")){
     
                            facture = new Facture();
     
     
                            Attribute idAttr = startElement.getAttributeByName(new QName("numerofacture"));
                            if(idAttr != null){
                                facture.setNumero(idAttr.getValue());
     
     
                            }
     
     
                            Attribute idAttr2 = startElement.getAttributeByName(new QName("type"));
                            if(idAttr2 != null){
                                facture.setType(idAttr2.getValue());
                                }
     
     
     
                        }
    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
    19
    20
    21
    if(xmlEvent.isEndElement()){
                        EndElement endElement = xmlEvent.asEndElement();
                        if(endElement.getName().getLocalPart().equals("facture")){
                            facList.add(facture);  
     
     
                        }
                                        }
     
     
     
                        if(xmlEvent.isEndElement()){
                            EndElement endElement = xmlEvent.asEndElement();
                            if(endElement.getName().getLocalPart().equals("employe)){
                                emp.setListActe(facList);
                                empList.add(emp);
     
     
                            }
                        }
                    }
    Le problème c'est que dans mon objet employé, j'ai les factures de tout on XML et non pas seulement d'un seul employé


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Liste emp = [numero= 1 type= acte1,* numero= 2 type= acte1_1,* numero= 1 type= XXXXXX,* numero= 2 type= YYYYYY]
    Liste emp = [ numero= 1 type= acte1,* numero= 2 type= acte1_1,* numero= 1 type= XXXXXX,* numero= 2 type= YYYYYY]]
    resultat que je voudrais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Liste emp = [numero= 1 type= acte1,* numero= 2 type= acte1_1]
    Liste emp = [numero= 1 type= XXXXXX,* numero= 2 type= YYYYYY]]

    Et pourquoi quand je fais ça et que j'affiche faclist, ma liste de facture est vide ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(xmlEvent.isEndElement()){
                            EndElement endElement = xmlEvent.asEndElement();
                            if(endElement.getName().getLocalPart().equals("employe)){
                                emp.setListActe(facList);
                                empList.add(emp);
                                facList.clear();

    Merci d'avance

  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
    Hello,

    Ben, tout comme tu as pensé à faire new Facture(),
    il faut penser à faire new Employé() et new ArrayList<>().

    Citation Envoyé par JeuneCodeur Voir le message
    Et pourquoi quand je fais ça et que j'affiche faclist, ma liste de facture est vide ?
    ... Parce que tu appelles clear() dessus, ce qui a pour effet de la rendre vide.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ah oui effectivement, j'avais oublié le new ArrayList<>(), je pensais pouvoir vider la liste après chaque employé avec le clear() mais c'était pas la bonne méthode.

    Merci pour ton aide !

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 11/01/2013, 04h30
  2. Réponses: 1
    Dernier message: 01/12/2012, 14h15
  3. java.util.List de double array
    Par Saif_24 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 06/05/2010, 09h06
  4. [VB.net] Join d'un Array list de string?
    Par the_bmo dans le forum VB.NET
    Réponses: 8
    Dernier message: 15/12/2005, 13h53
  5. Vertex Array & Listes d'Affichage ...
    Par yagero dans le forum OpenGL
    Réponses: 3
    Dernier message: 18/09/2005, 18h32

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