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

Langage Java Discussion :

Liste auto référente


Sujet :

Langage Java

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut Liste auto référente
    Bonjour,

    Je veux mettre en place une structure qui est une liste dont les éléments sont soit des atomes soit une liste
    Exemple (a,b,c,(c,d,(e,f),g),h,i)
    en fait je veux donc une classe Liste qui soit List<atome | Liste>
    Je peux bien sûr déclarer une liste d'objet mais y-a-t'il une autre façon de procéder.
    C'est en respectant les autres que l'on se fait respecter.

  2. #2
    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
    Hello,

    En principe il s'agit de faire une List<Content<E>>, avec Content<E> qui est une interface, implémentée par deux classes :
    - Atom<E> qui contient un unique E
    - ContentList<E> qui contient une List<Content<E>>.

    En réalité il serait bien plus simple de faire une List<Object> dont l'accès serait encapsulé par une nouvelle classe qui se charge dire si tel indice contient un atome ou une liste.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Hello,

    En principe il s'agit de faire une List<Content<E>>, avec Content<E> qui est une interface, implémentée par deux classes :
    - Atom<E> qui contient un unique E
    - ContentList<E> qui contient une List<Content<E>>.

    En réalité il serait bien plus simple de faire une List<Object> dont l'accès serait encapsulé par une nouvelle classe qui se charge dire si tel indice contient un atome ou une liste.
    En effet je m'étais dirigé vers la seconde solution mais je l'avais mal implémentée, maintenant ça marche.
    Merci.
    C'est en respectant les autres que l'on se fait respecter.

  4. #4
    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
    mouais, personnellement, ça, c'est un arbre avec des feuilles et des branches, donc j'aurais créé un arbre, tout simplement


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Node<E> {
       E e;
       List<Node<E>> nodes;
       public E getValue() { return e; }
       public List<Node<E>> getValues () { return nodes;}
       //.....
    }

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    mouais, personnellement, ça, c'est un arbre avec des feuilles et des branches, donc j'aurais créé un arbre, tout simplement


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Node<E> {
       E e;
       List<Node<E>> nodes;
       public E getValue() { return e; }
       public List<Node<E>> getValues () { return nodes;}
       //.....
    }
    Oui c'est vrai. Je savais bien que j'avais vu ça dans le temps.
    Merci beaucoup.
    Donc résolu.
    C'est en respectant les autres que l'on se fait respecter.

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut
    Je sais plus comment on fait pour mettre résolu (j'ai été trop longtemps sans venir).
    C'est en respectant les autres que l'on se fait respecter.

  7. #7
    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
    Le bouton tout simplement :/

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 464
    Points : 332
    Points
    332
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Le bouton tout simplement :/
    Merci OK. Je ne le voyais pas (je suis paresseux du scroll)
    C'est en respectant les autres que l'on se fait respecter.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/01/2016, 18h19
  2. [Dojo] Retarder liste auto-complétion après plusieurs caractères entrés
    Par aure298 dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 20/01/2010, 12h53
  3. Compiler un composant auto-référent
    Par sovitec dans le forum Composants VCL
    Réponses: 4
    Dernier message: 03/08/2007, 09h35
  4. [GOOGLE] Liste auto
    Par Louis Griffont dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 24/01/2007, 16h00
  5. Compilation de composant auto-référent
    Par sovitec dans le forum Composants VCL
    Réponses: 3
    Dernier message: 15/06/2005, 18h45

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