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 :

Utilisation d'un ArrayList


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Par défaut Utilisation d'un ArrayList
    Bonjour,

    donc j'essaie d'utilisé un ArrayList ,mais je n'ai aucune réel idée de son utilisation ,de plus je ne trouve pas de bon tutoriel et l'API ne m'aide pas franchement.

    J'ai besoin donc d'un tableau afin d'y mettre 2 éléments que je créer dans une class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class GP {
     
    	String pilote;
    	float win;
     
    	public GP(String pilote, float win) {
    		this.pilote = pilote;
    		this.win = win;
    	}
    Voila ma class principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Operation {
     
    	public static void main(String[] args) {
     
    		System.out.println("Choisir une opération : \n\n 1: Saisie \n 2: Afficher \n");
     
    		String Pilote;
    float win;
    		ArrayList<GP> list = new ArrayList<GP>();
     
    		list.add(); // je ne sais pas comment l’utilisé
    Je suis pour l'instant fâcher avec les mots comme instancier ,je sais que j'en fait un objet mais le reste est obscur , ou encore itéré ...

    J'ai essayé plusieurs moyen d'ajout mais le "add" me fait des erreur de compilation ,de plus je ne sais pas vraiment si j'ai bien initialisé ma liste.
    Si quelqu'un peu me mettre sur la voie ! Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 60
    Par défaut
    bah tout simplement tu crées un objet GP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GP tonObjetGP = new GP(pilote,win);
    et tu l'ajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    list.add(tonObjetGP);

  3. #3
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Avec ton exemple, ça donnerait quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static void main(String[] args) {
     
      System.out.println("Choisir une opération : \n\n 1: Saisie \n 2: Afficher \n");
     
      String pilote = "Moi";
      float win = 1;
     
      GP gpMoi = new GP(pilote, win);
      ArrayList<GP> list = new ArrayList<GP>();
     
      list.add(gpMoi);
    }
    Et pour répondre à tes questions :
    - Là où un tableau GP[] aurait forcément une taille fixe, ArrayList<GP> a une taille variable, voici l'in des avantages d'une ArrayList.
    - Ta liste est correctement initialisée (instanciée).
    - Dans ton add() il faut lui mettre un objet "GP" puisque tu as créé une ArrayList contenant des "GP".

    Ensuite, en remarques supplémentaires :
    - Mets une minuscule à tes noms de variables donc pas de "String Pilote"
    - Commence par une minuscule tes noms de méthodes Java en dehors du constructeur donc pas de "Devise(String pilote, float win)"
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  4. #4
    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
    Citation Envoyé par Robin56 Voir le message
    - Commence par une minuscule tes noms de méthodes Java en dehors du constructeur donc pas de "Devise(String pilote, float win)"
    À mon avis c'est censé être un constructeur et la classe est censée s'appeler Devise. Auquel cas, bon, il s'est trompé en faisant son copier/coller, mais les noms de classe respectent les règles.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par thelvin Voir le message
    À mon avis c'est censé être un constructeur et la classe est censée s'appeler Devise. Auquel cas, bon, il s'est trompé en faisant son copier/coller, mais les noms de classe respectent les règles.
    En effet puisqu'il n'y a pas de void ou de return quoi que ce soit.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Par défaut re
    en effet c'était un constructeur ,j'ai rectifier et l'ai appeler GP il me semble qu'il doit avoir (par convention) le même nom que la class.

    Merci je vais donc continuer avec vos conseil et je vous remercie.

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par HoliCApplet Voir le message
    en effet c'était un constructeur ,j'ai rectifier et l'ai appeler GP il me semble qu'il doit avoir (par convention) le même nom que la class.
    Il doit avoir obligatoirement le même nom que la classe.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  8. #8
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 79
    Par défaut algo
    @HoliCApplet

    Dans ArrayList il y a le mot liste. Je pense que ton pb ne vient pas de la syntaxe ou d'une API mais de la compréhension de ce qu'est une Liste et son utilité algorithmique quelque soit le langage.

    list.add();
    n'a aucune signification.

    Prends 5mn pour lire et comprendre l’intérêt d'une liste et ses limites (tri,insertion, suppression...)

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 70
    Par défaut list
    hmmm ... list.add() n'a aucune signification ...

    En effet écrit de cette manière ,ça ne va pas l'aidé , mais de la à dire que ça n'a aucune signification , de plus si j'ai bien compris il a mit un commentaire disant qu'il ne savait pas l'utilisé ,
    list.add() est un ajout d'un éléments , objet dans la liste "list".
    comme TSprog l'a montré ,il faut créer un objet de la class GP et le mettre en paramètre.

    d'ailleurs si ça t'aide , pour l'affichage utilise un list.get(index)
    mais n'oublie pas de changer ton String de cette manière !

    public String toString ()
    {
    return pilote +" : " + win + "\n";
    }

    Ça t'évitera d'être fâcher encore

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Par défaut toString
    oui avec ça j'arrive à avoir toute l'affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (int i=0 ; i<list.size() ;i++) {
    		        System.out.print(list.get(i));   
    		 }
    Ça simplifie car javais fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for (int i=0 ; i<list.size() ;i++) {
    		        System.out.print(list.get(i).pilote +" : " + list.get(i).win);   
    		 }
    C'est un peu pompeux , j'avais essayer la première solution mais il me donner une adresse ou un truc du genre.

    Je vois list.get(i).toString() et list.get(i) c'est pareil donc si je change le toString c'est plus facile. (Mais bon , il fallait y pensé !)
    Merci à tous et "aspire" je te promet d'essayé de me renseigner un peu plus sur les liste

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

Discussions similaires

  1. Problème utilisation typage générique ArrayList
    Par benoît_deville dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 12/04/2008, 14h13
  2. utilisation d une arrayList, debutant
    Par Mobistar dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 06/03/2008, 11h35
  3. [FAQ C#] Utilisation d'un ArrayList
    Par SesechXP dans le forum Contribuez
    Réponses: 2
    Dernier message: 12/06/2007, 13h29
  4. Utilisation d'une Arraylist
    Par LP-mpascolo dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 04/06/2007, 10h50
  5. utilisation d'une ArrayList
    Par Mobistar dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 26/01/2007, 13h40

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