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 :

Problème ArrayList d'objets


Sujet :

Collection et Stream Java

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Problème ArrayList d'objets
    Bonjour,

    je suis débutant en Java (et en programmation d'ailleurs).
    Je souhaite faire une arraylist d'objet. Ces objets sont chargés par un ficher csv.
    une ligne = un objet.

    Le problème est que l'implémentation de mes objets ne fonctionnent pas comme je voudrais...

    J'ai 3 lignes donc 3 objets.
    Je crée mes objets 1 à 1 et je verifie.
    Lorsque j'ai intégré mes objets, je veux lire mon arraylist et c'est là que je trouve un problème...

    exemple :
    Equipement equip = new Equipement("...") à chaque ligne..
    equip1 = @mem1
    equip2 = @mem2
    equip3 = @mem3

    Quand je lis mon arraylist je retrouve :
    @mem1 : contenu de equip3
    @mem2 : contenu de equip3
    @mem3 : contenu de equip3

    Je comprend donc que mes objets sont crées car ils ont des @ mémoires différentes mais ils ont tous le contenu du dernier objet intégré (içi equip3).
    J'ai beau cherché l'erreur.. je ne comprend pas...

    Voici la méthode que j'utilise pour créer mes objets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ArrayList <Equipement> p = new ArrayList <Equipement>();
    
    public static void CreatObjet(ArrayList<Equipement> p, String ligne, int i) {
            String temp[];        
            temp = ligne.split("[|]");   //je split ma ligne dans les bonnes variables..
            ...
            Equipement equip = new Equipement(...); // je crée mon objet avec les bonnes variables.
            p.add( equip);      //j'ajoute l'objet (equip) à mon arraylist (p).
    }

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Il doit y avoir une erreur dans le code souligné en rouge :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            ...
            Equipement equip = new Equipement(...);

    Mais difficile de t'aider pour l'instant !

    a++

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Désolé, je pensais que ce n'était pas utile.

    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
     
    ArrayList <Equipement> p = new ArrayList <Equipement>();
     
    public static void CreatObjet(ArrayList<Equipement> p, String ligne, int i) {
            String temp[];        
            temp = ligne.split("[|]");   //je split ma ligne dans les bonnes variables..
            nR = temp[0];
            nH = temp[1];
            nO = temp[2];
            nS = temp[3];
            nDte = temp[4];
            nB = temp[5] ;
            nId = i;
     
            Equipement equip = new Equipement(nR, nH,nO, nS, nDte, nB, nId);   //création de l'objet avec les bons arg.
            p.add( equip);      //j'ajoute l'objet (equip) à mon arraylist (p).
    }
    Merci bien.

  4. #4
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Il n'y a pas de soucis je pense dans le code donné... Donc le soucis doit se trouver dans le code qui l'appelle

    P.S. :
    - tes variables sont nommées trop courtes a mon avis -> aucun sens -> peu de lisibilité
    - tes variables servent à qqchose ? (je suppose que tu n'as pas mis tout le code). Parce que là pourquoi ne pas faire new Equipement(temp[0],temp[1),...) ?

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Es-tu sur d'appeler chaque fois avec une ligne différente? Comment fais-tu pour afficher tes donnée et conclure qu'il n'y a que la dernière ligne? On peux voir le code de Equipement aussi? Tu n'aurais pas défini ses champs en statiques par hasard?

  6. #6
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par chtig Voir le message
    - tes variables sont nommées trop courtes a mon avis -> aucun sens -> peu de lisibilité
    +1 !

    Citation Envoyé par chtig Voir le message
    - tes variables servent à qqchose ? (je suppose que tu n'as pas mis tout le code). Parce que là pourquoi ne pas faire new Equipement(temp[0],temp[1),...) ?
    Avec des noms de variables explicites cela aurait été utile, car cela apporte plus de lisibilité.
    Par exemple il est plus lisible de lire new User(firstName,lastName) que new User(temp[0],temp[1]).

    Maintenant ce qui me fait peur, c'est que toutes cas variables devrait être des variables locales or ce n'est pas le cas : où sont-elle définis ?

    Et en voyant qu'il y a une ArrayList<Equipement> p qui semble défini en attribut d'instance je crains qu'il n' s'agisse d'une mauvaise portée de variable...


    a++

  7. #7
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour, tout d'abord je vous remercie pour vos réponses.

    j'ai en effet déclaré mes variable en static. (cela pose t'il problème?)

    Voici ma class Equipement :
    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
     
        private static String group;
        private static String host;
        (...)
    public Equipement (String nGroup, String nHost, String nOnline, String nStatus, String nDte, String nBackupmessage, int nId){
    		group = nGroup;
    		host = nHost;
    		online = nOnline;
    		status = nStatus;
    		dte = nDte;
    		backupmessage = nBackupmessage;
                    id = nId;
    	}
    public static void AfficheEquipement (ArrayList<Equipement> p, int i){
            System.out.println(p.get(i)+" : "+p.get(i).getGroup()+"    "+ p.get(i).getHost()+"    "+ p.get(i).getOnline()+"    "+ p.get(i).getStatus()+"    "+ p.get(i).getDte()+"    "+ p.get(i).getBck()+"    "+ p.get(i).getId());
        }
    (... accesseur et mutateur get/set ...)
    Ma class Outils :

    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
    24
    25
    26
    27
    28
    29
     
        private static String nGroup;
        private static String nHost;
        (...)
    public static void CreatObjet(ArrayList<Equipement> p, String ligne, int i) {
            String temp[];        
            temp = ligne.split("[|]");   //je split ma ligne dans les bonnes variables..
     
    //(ici j'ai 3 autres "if"pour les cas différents)
     
            if (temp.length == 6){
                nGroup = temp[0];
                nHost = temp[1];
                nOnline = temp[2];
                nStatus = temp[3];
                nDte = temp[4];
                nBackupmessage = temp[5] ;
                nId = i;
            }
     
            Equipement equip = new Equipement(nGroup, nHost,nOnline, nStatus, nDte, nBackupmessage, nId);
      //création de l'objet avec les bons arg.
            p.add( equip);      //j'ajoute l'objet (equip) à mon arraylist (p).
    }
    public static void AfficheParc (ArrayList<Equipement> p){
     
            for(int i = 0; i < p.size(); i++){
          Equipement.AfficheEquipement(p, i);      
        }
    Mon main :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    public static void main(String[] args) {
            // TODO code application logic here
     
            FileReader monFichier = null;
            BufferedReader tampon = null;
            String temp[];
            int nId = 0;
            ArrayList <Equipement> p = new ArrayList <Equipement>();
     
            try {
                monFichier = new FileReader("U:\\Document Projet\\ManipCSV\\testA.csv");
                tampon = new BufferedReader(monFichier);
     
                while (true) {
                    // Lit une ligne de test.csv
                    String ligne = tampon.readLine();
                    // Vérifie la fin de fichier
                    if (ligne == null) {
                        break;
                    }
     
                    System.out.println("ligne "+nId+" : "+ligne);                
                    Outils.CreatObjet(p,ligne,nId); 
     
                    nId++;
     
                } // Fin du while
                    Outils.AfficheParc(p);
            }
            catch (IOException exception) {
                exception.printStackTrace();
            } finally {
                try {
                    tampon.close();
                    monFichier.close();
                } catch (IOException exception1) {
                    exception1.printStackTrace();
                }
            }
        }
    Le Résultat :
    Les 3 lignes avec verification du contenu.
    @ mémoire de l'objet : contenu de l'objet
    -----------
    Lecture de mon Arraylist :
    @ mémoire de l'objet : contenu de l'objet


    ligne 0 : TUTU|BIBU005|online|succeeded|2012-12-16 05:00:22.524|
    rapportcsv.Equipement@5d173 : TUTU BIBU005 online succeeded 2012-12-16 05:00:22.524 null 0
    ------------------
    ligne 1 : TUTU|BIBU001|online|failed|2012-12-16 02:03:16.355|Device Backup communication failure.
    rapportcsv.Equipement@1f9dc36 : TUTU BIBU001 online failed 2012-12-16 02:03:16.355 Device Backup communication failure. 1
    ------------------
    ligne 2 : TOTO|TITO006|offline|||
    rapportcsv.Equipement@e86da0 : TOTO TITO006 offline null null null 2
    ------------------
    rapportcsv.Equipement@5d173 : TOTO TITO006 offline null null null 2
    rapportcsv.Equipement@1f9dc36 : TOTO TITO006 offline null null null 2
    rapportcsv.Equipement@e86da0 : TOTO TITO006 offline null null null 2

    Comme je l'ai dit donc.. J'ai l'impression que mes objets sont bien intégrés à mon Arraylist "p" mais le contenu n'est pas bon...

    Merci de votre aide.

  8. #8
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par reap974 Voir le message
    j'ai en effet déclaré mes variable en static. (cela pose t'il problème?)
    Ben oui, ça veut dire que deux objets différents ne peuvent pas avoir ces variables différentes.

    (Ou, pour le dire autrement, ces variables sont créées uniques et non pas une par objet : si on en change une, on la change pour tout le programme et non pas pour un seul objet.)

    C'est à ça que sert static. La seule raison qui aurait pu te pousser à mettre static, c'est que tu ne voulais pas que tes objets puissent avoir des valeurs différentes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par reap974 Voir le message
    j'ai en effet déclaré mes variable en static. (cela pose t'il problème?)
    La question serait plutôt : pourquoi as-tu mis ces champs en static ?



    Un champs static est indépendant de l'instance, et unique à l'application, donc cela ne correspond pas à ton besoin :
    • Dans ta classe Equipement, il te faudrait plutôt des variables d'instances.
    • Dans ta méthode CreateObjet(), il faudrait plutôt utiliser des variables locales.






    Sinon, rien à voir mais ton traitement des ressources et des erreurs dans le main est incorrect (par exemple en cas de FileNotFoundException tu obtiendras un NullPointerException).

    Avec Java 1.6 ou inférieur, la règle la plus simple pour faire cela proprement étant d'utiliser un bloc try/finally par ressource, et d'utiliser un try/catch englobant le tout pour traiter toutes les exceptions en un seul lieu :
    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
    		ArrayList<Equipement> p = new ArrayList<Equipement>();
     
    		try {
    			BufferedReader br = new BufferedReader(new FileReader(
    					"U:\\Document Projet\\ManipCSV\\testA.csv"));
    			try {
    				String ligne;
    				int nId = 0;
    				while ((ligne = br.readLine()) != null) {
    					System.out.println("ligne " + nId + " : " + ligne);
    					// Outils.CreatObjet(p,ligne,nId);
    					nId++;
    				}
    				// Outils.AfficheParc(p);
    			} finally {
    				br.close();
    			}
    		} catch (IOException e) {
    			// Traitement unique de toutes les exceptions
    			e.printStackTrace();
    		}
    A partir de Java 7 on peut utiliser le try-with-ressource :
    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
    		ArrayList<Equipement> p = new ArrayList<Equipement>();
     
    		try (BufferedReader br = new BufferedReader(new FileReader(
    					"U:\\Document Projet\\ManipCSV\\testA.csv"))) {
    			String ligne;
    			int nId = 0;
    			while ((ligne = br.readLine()) != null) {
    				System.out.println("ligne " + nId + " : " + ligne);
    				// Outils.CreatObjet(p,ligne,nId);
    				nId++;
    			}
    			// Outils.AfficheParc(p);
    		} catch (IOException e) {
    			// Traitement unique de toutes les exceptions
    			e.printStackTrace();
    		}

    a++

  10. #10
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Je vous remercie pour vos réponses.
    J'ai suivi vos conseils pour les variables d'instance dans ma classe Equipement ainsi que pour le try/finally try/catch.
    j'ai donc pu continuer.

    J'ai basculé mon main dans une methode insereFic dans ma class Outils afin de pouvoir créer mes objets.

    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
     
    public static void insereFic(String chemin){
            ArrayList<Equipement> p = new ArrayList<Equipement>();
            try {
                BufferedReader tampon = new BufferedReader(new FileReader(chemin));
                try {
                    String ligne;
                    int nId = 0;
                    while ((ligne = tampon.readLine()) != null) {
                        System.out.println("ligne " + nId + " : " + ligne);
                        Outils.CreatObjet(p, ligne, nId);
                        nId++;
                    }
                    //Outils.AfficheAllParc(p);
                } finally {
                    tampon.close();
                }
            } catch (IOException e) {
                // Traitement unique de toutes les exceptions
                e.printStackTrace();
            }
        }
    Mon but final est en faites d'extraire 2 fichiers csv dans 2 arraylist p1 et p2 (parc1 et parc2).
    Je doit comparer les objets des arraylist, voir s'il y a eu des modifications entre chaques objets, faire des compteurs, ect...

    J'ai commencé à faire ma méthode compareParc:
    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 static void compareParc(ArrayList<Equipement> p, ArrayList<Equipement> p2) {
     
            for (int i = 0; i < p.size(); i++) {
     
                for (int j = 0; j < p2.size() || p.get(i).getHost().equals(p2.get(j).getHost()); j++) {
                    if (p.get(i).getOnline().equals(p2.get(j).getOnline()) == false || p.get(i).getStatus().equals(p2.get(j).getStatus()) == false) {
                        System.out.println("Change sur : " + p.get(i).getHost());
                    }else{
                       System.out.println("New Host : " + p.get(i).getHost()); 
                    }
                }
            }
        }
    La solution que je vois pour l'instant est de faire des boucles imbriqués pour comparer p1.ob1 à p2.objX (que je dois trouver par rapport au nom getHost).

    J'ai cependant plusieurs soucis :
    _ Comment puis-je récupérer les @dresse mémoires des arraylist? (pour pouvoir les parcourir dans ma méthode compareParc()).
    _ La compléxité va être conséquente... (mes fichiers font 5k lignes, donc 5k objets...)
    (J'avais pensé comparer ligne par ligne (getId dans mes objets), mais il se trouve que les objets peuvent ne pas arriver dans le meme ordre).
    Si vous avez une meilleur solution pas trop compliqué, je suis preneur(comme je vous l'ai dit, je débute en programmation).

    Merci pour vos conseils.

  11. #11
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par reap974 Voir le message
    _ Comment puis-je récupérer les @dresse mémoires des arraylist? (pour pouvoir les parcourir dans ma méthode compareParc()).
    Je comprends pas trop ces histoires d'adresse mémoire, on fait pas de l'assembleur.
    Ces arraylist sont des objets, passe-les en paramètre de ta méthode de la même manière que tu passerais n'importe quel paramètre. Pourquoi imaginer autre chose que ça ?

    Citation Envoyé par reap974 Voir le message
    _ La compléxité va être conséquente... (mes fichiers font 5k lignes, donc 5k objets...)
    (J'avais pensé comparer ligne par ligne (getId dans mes objets), mais il se trouve que les objets peuvent ne pas arriver dans le meme ordre).
    Si vous avez une meilleur solution pas trop compliqué, je suis preneur(comme je vous l'ai dit, je débute en programmation).
    Il faudrait indexer un des deux (le mettre dans un HashMap) sur l'id des objets. Comme ça, quand tu parcours l'autre, tu peux demander l'objet correspondant à cet id dans le HashMap.

    Ça te fait une complexité proche de O(2n + m) au lieu de la complexité O(n x m) des boucles imbriquées.
    Pour un coût en mémoire sensiblement plus élevé mais pas exagéré.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par reap974 Voir le message
    _ Comment puis-je récupérer les @dresse mémoires des arraylist? (pour pouvoir les parcourir dans ma méthode compareParc()).
    Heu... Pas trop compris là !
    On ne joue pas avec les adresses mémoires en Java !

    Que veux-tu faire avec cela ???

    Citation Envoyé par reap974 Voir le message
    _ La compléxité va être conséquente... (mes fichiers font 5k lignes, donc 5k objets...)
    (J'avais pensé comparer ligne par ligne (getId dans mes objets), mais il se trouve que les objets peuvent ne pas arriver dans le meme ordre).
    Si les objets ne sont pas dans le même ordre, je ne vois que deux solutions :

    • Tout charger en mémoire comme tu le fait, et trier les deux listes (pour être sûr d'avoir le même ordre).
      Remarques qu'il faudra gérer le cas où un ID existe dans une liste et pas dans l'autre...
    • Lire un fichier ligne par ligne, et rechercher à chaque fois la ligne correspondante dans l'autre fichier... mais ca risque d'être bien long !



    5K lignes cela ne me semblent pas énorme, donc perso j'opterais pour tout charger en mémoire (à moins que tu ne tournes sur un environnement restreint de ce coté là).



    a++

  13. #13
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    En faites, je ne vois pas comment passer en paramétre mes arraylist.
    Puisque j'utilise ma méthode insereFic() pour intégrer mes deux fichiers (je crée donc 2 arraylist p).
    Comment les appeler ensuite dans ma méthode compareParc(p1,p2)?

    Désolé si je ne suis pas trés clair,quand je parle d'adresse mémoire (cela se nomme peut être "pointeur"?)

  14. #14
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Ben... il suffit que la méthode insereFic() retourne la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ArrayList list1 = insereFic(...);
    ArrayList list2 = insereFic(...);
     
    compareParc(list1, list2);
    Il s'agit quand même des bases de la prog Java...

    Je te conseille vivement de te plonger dans un cours Java

    a++

  15. #15
    Candidat au Club
    Inscrit en
    Décembre 2012
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour et merci pour vos réponses.

    Désolé pour ces questions un peu idiotes, comme je vous l'ai dit je debute en programmation (3mois) et c'est mon premier programme perso sans être dirigé...

    Je retiens l'idée de HashMap pour plus tard (optimisation).

    Merci encore pour votre aide.

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

Discussions similaires

  1. Petit problème ArrayList objet
    Par astran dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 29/04/2013, 10h27
  2. Problème de ListView avec une ArrayList d'objets
    Par zouky dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 24/08/2012, 00h40
  3. [FLASH MX] Problème avec l'objet Date
    Par n_tony dans le forum Flash
    Réponses: 13
    Dernier message: 22/03/2005, 13h44
  4. [C#] Copier un ArrayList d'objets
    Par ahedev dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/11/2004, 12h14

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