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

Java Discussion :

quelle structure utiliser ?


Sujet :

Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Par défaut quelle structure utiliser ?
    Bonjour à tous,
    voila j'aimerai avoir votre aide, j'explique ce que je fais et ce que j'aimerai avoir :

    j'ai une liste de document et chaque document a des fils qui est un document et ainsi de suite donc comme structure arborescente, et je veux pour chaque document trouver ses fils et ainsi de suite et les stocker et je ne sais pas quelle structure de données est approprié pour faire ça !!!
    j'ai pensé à liste de liste de liste de.... mais c'est trop !!! j'ai pensé à faire de la faire de la récursivité mais je ne sais pas trop comment m'y prendre et si y'a des structures plus appropriées

    merci pour votre aide

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par anizlewan Voir le message
    j'ai pensé à liste de liste de liste de.... mais c'est trop !!! j'ai pensé à faire de la faire de la récursivité mais je ne sais pas trop comment m'y prendre et si y'a des structures plus appropriées
    Pourquoi "c'est trop" ? C'est le principe d'une arborescence.
    Par exemple, tu pourrais construire une classe "Mon_Document" qui contient un membre privé de type "List" contenant des "Mon_Document".
    Tu tiens l'arbre par la racine, une seule instance d'un "Mon_Document". Et tu viens de décrire une structure de données arborescente à simple chaînage racine vers feuille.
    Il te reste la partie la plus délicate : les méthodes de cette classe pour manipuler la sous-arborescence décrite par un sous-arbre quelconque "Mon_Document".

    A quoi te sert cette structure ? De quelles opérations as-tu besoin ? Ajout, suppression ? Quoi d'autre ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Par défaut
    Merci pour ta réponse,

    en fait voila j'ai un index qui contiens des milliers de ligne et moi je veux chercher la structure arborescente de ces ligne, donc ce que je veux avoir si pour chaque ligne chercher des fils et ainsi de suite donc à la fin j'aurai une structure arborescente .
    alors ce que j'ai commencé a faire c'est chercher d'abord les les fils du premier niveau et e les ai mis dans une liste et je veux faire pareil pour chaque élément de la liste donc j’aurai un peu près un truc de liste de liste comme si c'est un index qui pointe vers index et ainsi de suite.
    le soucis c'est que je ne sais pas comment faire cela !! je sais que je fais le même traitement sur chaque élément de la liste ce qui me fait penser à utiliser la récursivité mais je ne sais pas comment m'y prendre
    as tu des idées ?

    merci

  4. #4
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Bah c'est pas vraiment très clair ce que tu nous racontes là :/

    On a bien compris que tu veux ranger des éléments dans une structure arborescente, mais comme on connait pas la structure de base, je vois pas trop comment on pourrais t'aider plus que ça..

    Après le gros du problème c'est d'écrire une fonction capable d'extraire la liste des fils d'un noeud particulier. Une fois que tu as écris ça, tu n'as plus qu'a stocker le résultat dans une liste et de l'appeler de façon récursive sur chaque nouveau noeud.

  5. #5
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 326
    Billets dans le blog
    12
    Par défaut
    Si ton application est fait en Swing, tu peux utiliser JTree :
    http://docs.oracle.com/javase/tutori...ents/tree.html
    C'est un composant très dynamique.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Par défaut
    merci,
    je vous explique clairement alors peut être vous pourrez m'aider, voila je veux construire l’arborescence de discussion Twitter, j'ai un ensemble de tweet que j'ai indexé avec le moteur de recherche Lucene, chaque ligne de cet index c'est un tweet avec toutes ses informations ( id_tweet, id_users ...) donc je veux chercher tout les replies d'un tweet pour avoir la discussion complète en utilisant un champ qui est id_in_reply_to_status, pour l'instant j'ai fis une fonction qui reçois l'index et me donne toute les liste qui ont le même statu_id ( donc les liste des reply ) et je veux faire ça pour chaque élément de la liste ( donc pour chaque tweet de la liste ).
    je ne sais pas si c'est claire ou pas ?

    merci beaucoup

  7. #7
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Ok mais dans ce cas là il n'y à pas besoin d'utiliser un arbre.

    Une conversion n'est ni plus ni moins qu'une liste de Tweet ordonnée par date de publication.

    Donc si tu as la fonction qui est capable d'extraire la liste des Reply d'un Tweet tu as déjà fais tout le boulot. Après tu as juste à les ranger dans l'ordre pour les afficher.

    Tu auras juste une liste de Tweet contenant une liste de Reply.

    Tu écris une fonction capable de lister les Tweet et tu lances la fonction d'extraction des Reply sur chaque Tweet.

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Par défaut
    oui mais je veux aussi pour chaque replie dans la liste retourner ses replies, je ne sis pas si vous comprenez ce que je veux dire ?
    je m'explique mieux : un tweet t1 il a 2 replies ( t2 et t3 ) je veux avoir les replies de t2 et t3

    je ne sais pas si c'est mieux expliqué ??

  9. #9
    Membre Expert Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Par défaut
    Ici je pars du principe que tu as déjà extrait la liste des Tweet "racine".

    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
     
    public class Tweet {
     
      private ArrayList<Tweet> replies = new ArrayList<Tweet>();
     
      public void addReplyList( ArrayList<Tweet> replies ){
        reply.addAll( replies );
      }
     
      public ArrayList<Tweet> getReplies(){
        return replies;
      }
     
    }
     
    public void sortTweet( ArrayList<Tweet> tweets ){
     
    	Iterator iter = tweets.iterator();
    	while( iter.hasNext() ) {
    		Tweet t = iter.next();
    		ArrayList<Tweet> replies = getReplies( t ); // Ici tu dois utiliser la fonction que tu as écris pour lister les replies d'un tweet
    		t.addReplyList( replies );
    		sortTweet( t.getReplies() );
    	}
    }

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 111
    Par défaut
    ok je vous remercie beaucoup pour votre aide

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

Discussions similaires

  1. Quelle structure utiliser pour manier ces données
    Par marcelin88 dans le forum Débuter
    Réponses: 8
    Dernier message: 26/03/2014, 15h12
  2. Réponses: 4
    Dernier message: 24/09/2010, 00h13
  3. Quelle Structure utiliser pour un tri croissant
    Par sunp dans le forum Langage
    Réponses: 6
    Dernier message: 30/04/2008, 14h19
  4. [C++] quelle structure de donnée utiliser pour stocker des vertices ?
    Par johnnyjohnny dans le forum Développement 2D, 3D et Jeux
    Réponses: 14
    Dernier message: 14/07/2007, 21h44

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