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 avec des ArrayList


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut Problème avec des ArrayList
    Bonsoir,

    je suis totalement novice en java et plus exactement en programmation objet, d'ou ma question dans ce forum

    Je vais posé la question le plus simple possible sans entré dans les détails, pour le moment

    J'ai une Classe Animaux
    + une Classe Chat extends Animaux
    + un Classe Chien extends Animaux
    + une Classe Canarie extends Animaux

    Je veux créer une arrayliste pour chaque classe filles

    Au début j'ai pensé faire pour chaque Arrayliste un classe, par exemple un classe ListeChat, ListeChien, ListeCanari.

    pour chaque classe il y a les méthodes suivant:
    - méthode pour afficher les objet
    - méthode pour rechercher une animal avec son nom
    - méthode pour supprimer une animal


    Mais lors ma formation ont m'a bien expliqué qu'il ne fallait pas se répété D.R.Y (don't repeat yourself)

    Mais je ne trouve pas le moyen de crée des arrayliste sans me répété.

    pouvez-vous m'aider svp

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Par défaut
    Tu n'as qu'a englobé ton arrayList dans une classe et y mettre les méthodes que tu veux. Ou tu fais une classe utilitaire qui a des méthodes faisant ce que tu veux.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    List<Chien> listeChiens = new ArrayList<Chien>();

    Rien de plus à faire.

  4. #4
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    List<Chien> listeChiens = new ArrayList<Chien>();

    Rien de plus à faire.
    Oui, c'est ce que j'ai pensé au début, mais a chaque fois il vas falloir que je fasse les même méthodes pour chaque Arrayliste par exemple pour chiden

    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
     
    List<Chien> listeChiens = new ArrayList<Chien>();
     
    //ajouter un chien a la liste
    public void ajouter(Chien chien){
     
         listeChien.add(chien);
     
    }
     
    //rechercher un chien dans la liste
    public void rechercherChien (String nomChien){
     
          for (Chien c : listeChien) {
          if(c.getNomChien.equals(nomChien)
               c.affiche(); // affiche etant un methode dans chien pour affiché son nom son age etc??
          }
     
    }
     
    public void supChien() {.....etc
    Donc pour chaque arrayliste je doit mettre ces méthodes, mais vu que se sont presque les mêmes, pour moi c'est de la répétition, corrigez moi si je suis dans la faux.

    J'ai aussi fait un essai avec un arrayliste d'Object, mais la ça c'est compliqué car il m'etait impossible de faire appelle au méthode qui sont dans les classe chat, chien, canari, comme la méthode affiche();

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    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
    public class Groupe<T extends Animaux>{
        private List<T> liste = new ArrayList<T>();
        public void add(T animal){
            liste.add(animal);
        }
        public T recherche(String nom){
          for (T t : liste) {
            if(t.getNom().equals(nom)
               t.affiche();
               return t;
            }
          return null; // pas trouvé
        }
        // etc....
    }
    tout simplement.

  6. #6
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    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
    public class Groupe<T extends Animaux>{
        private List<T> liste = new ArrayList<T>();
        public void add(T animal){
            liste.add(animal);
        }
        public T recherche(String nom){
          for (T t : liste) {
            if(t.getNom().equals(nom)
               t.affiche();
               return t;
            }
          return null; // pas trouvé
        }
        // etc....
    }
    tout simplement.
    Merci pour ta réponse rapide,

    Je vais testé et vous tenir au courant

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

Discussions similaires

  1. Problème d'algo avec des arraylist
    Par samuel4256 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 28/03/2011, 23h48
  2. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  3. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  4. [STRUTS] Problème avec des ActionForm
    Par zarbydigital dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/03/2004, 13h49
  5. Problèmes avec des vues
    Par dady dans le forum MFC
    Réponses: 22
    Dernier message: 09/01/2004, 16h26

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