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 :

Implémentation en java de structures de données


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut Implémentation en java de structures de données
    Bonjour,
    J'aimerais partager avec vous une question qui m'a été posée :

    Puisqu'on à disposition en java des structures de données à gogo telles que les listes et les arbres ..., pourquoi trouve -t- on souvent des utilisateurs implémenter eux même des listes à partir de tableaux ou de structures chainées , et des arbres en fabriquant une classe arbre....?

    Ma réponse :
    Pour avoir une certaine liberté et donc flexibilité au niveau de l'utilisation des méthodes qui ne sont plus de boites noires.

    Qu'en pensez vous ?

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Je dirais dans un premier jet :

    - L'utilisateur n'as pas connaissance qu'il existe une telle structure/fonction déjà présente dans son langage.
    - Il veux apprendre. (ce que contient dans la boite noire)
    - Il a décider de réinventer la roue a tout prix ^^.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut
    Tout d'abord, merci pour ta réponse.

    L'utilisateur n'as pas connaissance qu'il existe une telle structure/fonction déjà présente dans son langage.
    En général, ce n'est pas la raison puisqu'il doit se documenter avant tout.

    - Il veux apprendre. (ce que contient dans la boite noire)
    - Il a décidé de réinventer la roue a tout prix ^^.
    Ohouiiii; ce n'est qu'une toute petite riquiqui raison, mais il faut vraiment être motivé!

    Je pense vraiment que la raison est la FLEXIBILITÉ d'utilisation des méthodes sur les données. Cela reste mon avis.

  4. #4
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par wafiwafi Voir le message
    En général, ce n'est pas la raison puisqu'il doit se documenter avant tout.
    Dans un monde idéal peut-être... mais en pratique c'est rarement le cas !


    Citation Envoyé par wafiwafi Voir le message
    Ohouiiii; ce n'est qu'une toute petite riquiqui raison, mais il faut vraiment être motivé!
    En tout cas c'est un exercice intéressant

    Citation Envoyé par wafiwafi Voir le message
    Je pense vraiment que la raison est la FLEXIBILITÉ d'utilisation des méthodes sur les données. Cela reste mon avis.
    Que veux-tu dire exactement ?
    Si c'est pour réinventer ce qui existe je n'en vois pas l'intérêt (outre l'exercice justement).


    Maintenant si c'est pour bénéficier d'une autre implémentation c'est autre chose...


    a++

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    A mon avis on ne gagne rien en flexibilité concernant les listes.
    En revanche concernant l'arbre c'est un concept à part.

    Un arbre dispose de méthodes que n'ont pas les listes. Un noeud a généralement une valeur attachée et contient d'autres noeuds. Il peut s'agir d'un noeud racine, d'un noeud normal ou d'un noeud feuille. Un noeud est caractérisé par une profondeur, a éventuellement un père, est rattaché à un et un seul arbre. Un chemin se constitue d'une chaîne de noeud.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  6. #6
    Membre éclairé
    Avatar de wafiwafi
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 500
    Par défaut
    En tout cas c'est un exercice intéressant
    Oui, c'est vrai.

    Que veux-tu dire exactement ?
    Si c'est pour réinventer ce qui existe je n'en vois pas l'intérêt (outre l'exercice justement).
    Établir sa propre classe et fabriquer ses propres méthodes selon son contexte est tout de même plus souple d'utilisation que faire appel à des méthodes dont on ne connait pas l'implémentation. C'est beaucoup plus pratique également du point de vue étude de complexité. Attention, je ne dis pas qu'il faut tout réinventer mais il arrive que le contexte exige une autre implémentation.

    Néanmoins je reste d'accord avec vos réponses!! Cela constitue un très bon exercice et c'est cette raison que dorénavant je retiens.
    Merci à vous

  7. #7
    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 wafiwafi Voir le message
    Établir sa propre classe et fabriquer ses propres méthodes selon son contexte est tout de même plus souple d'utilisation que faire appel à des méthodes dont on ne connait pas l'implémentation.
    Euh. Dans le cas des structures communes fournies par Java, l'implémentation va un peu de soi quand même.
    Et puis, si on veut la connaître, il suffit de la regarder, le code source est facilement affiché dans un EDI. C'est pas franchement indigeste, il y a juste le ConcurrentModificationException fail-early qui complique un peu les choses.

    Citation Envoyé par wafiwafi Voir le message
    C'est beaucoup plus pratique également du point de vue étude de complexité. Attention, je ne dis pas qu'il faut tout réinventer mais il arrive que le contexte exige une autre implémentation.
    Euh oui, ça arrive, dans certains cas très précis. Je n'appellerais pas ça beaucoup plus pratique, du coup.

    (Par exemple si on a une ArrayList très grande et qu'on veut en virer tous les objets marron, mais pas ceux d'autre couleur, manga, je vous raconte pas la complexité. Alors qu'il suffisait de décaler les objets qui restent vers leur nouvel index et de redéfinir la taille.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Structure de données en java
    Par inès83 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 17/04/2008, 22h41
  2. Structure de donnée de type arbre en Java ?
    Par joseph_p dans le forum Général Java
    Réponses: 17
    Dernier message: 16/09/2006, 15h20
  3. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  4. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10

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