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 :

Quelle collection choisir?


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Par défaut Quelle collection choisir?
    Bonjour et merci par avance pour votre aide,

    Je voudrais faire un mini projet pour tester les collections contenant des objets,je dois gérer les identifiants(SANS UTILISER DE BASE DE DONNEES POUR L'INSTANT)

    j'ai les classes suivantes:

    --la classe Carton qui est une liste d'objets(livre,vaisselle,...) la classe Carton est caractérisée par IDENTIFIANT(un entier qui est différent pour chaque carton)

    --la classe ensembleCartons(une liste de cartons)
    Un ensemble de cartons référencera une liste de cartons et comportera une chaîne de caractères
    (non vide) d´ecrivant l’ensemble. On considérera qu’il ne peut y avoir plus de 10 ensembles de cartons. Un ensemble de carton sera référencé par un numéro entier.

    ma question est la suivante :

    Je ne sais pas quelle collection je dois choisir, sachant surtout je dois gérer le s Identifiants uniques( TYPE Entier) pour ces 2 classes.

    J'ai pensé à une HashMap<Clé du type string,Valeur>, mais le problème c'est je dois gérer les Identifinats du TYPE Entier, et là la clé est du type String

    Je ne sais pas quelle est la collection à choisir le mieux pour résoudre ce problème

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2005
    Messages : 102
    Par défaut
    Salut,

    La description de ton problème est un peu obscur mais pourquoi ne pas utiliser une HashMap<Clé du type Integer,Valeur> ?
    De toute façon même si ta String représente un nombre, il y a des méthodes pour transformer et gérer ton Identifiant comme un nombre !

    A plus,
    Mathieu

  3. #3
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Bonjour,

    HashMap<Clé du type string,Valeur>, [...] là la clé est du type String
    La clé d'un HashMap peut-être n'importe quel objet. Depuis la version 1.5 du JVM on peut même utiliser les types de base.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Par défaut
    Bonjour,


    En effet, j'ai pensé que la HashMap<clé,valeur> ne prend que le type String pour La cle, et maintenant selon vos réponse elle prend n'importe quel type, merci pour la réponse.

    Je n'arrive pas bien comprendre comment on peut choisir une collection ou une autre
    exemple choisir une LinkedList ou une HashMap ou une Hashset ou une autre
    pour faire une liste d'objets et faire des opérations d'ajout ou de suppression d'objets

    Y a t'il un bon cours pour bien comprendre les collections ??

    Merci pour votre réponse

  5. #5
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Bonjour,

    Voir la descriptions des classes de chacun des collection et List, c'est un bon début.


    Dans ton problème, hashMap et ArrayList devrait faire l'affaire.

    Les containers se divisent en deux groupes

    Ceux qui implemente l'interface Collection
    http://java.sun.com/j2se/1.5.0/docs/...ollection.html

    et ceux qui implement l'interface List
    http://java.sun.com/j2se/1.5.0/docs/...util/List.html

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Par défaut
    Bonjour,


    je vais essayer de comprendre cela tout doucement.

    Cette partie Collection et List est énorme, il faut un peu de maturité en java...


    Merci pour votre réponse.

  7. #7
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    Ma bible en Java: Thinking in java, Bruce Eckel
    http://bruce-eckel.developpez.com/li...aduction/tij3/

  8. #8
    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 jibbi
    Ma bible en Java: Thinking in java, Bruce Eckel
    A noter que la dernière version est en cours de traduction sur developpez.com : Thinking in Java, 3rd ed. Revision 4.0Collections d'Object[/url]

    a++

  9. #9
    Membre expérimenté Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Par défaut
    ho ! merci de l'info

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Par défaut
    Bonjour,

    C'est super, la bonne doc java et en français en plus.
    Je tiens à remercier toutes les personnes qui ont contribué à cette
    traduction.

    Pour revenir aux collections Java, et par souci d'apprentissage

    l'évolution de JAVA 2 à JAVA 5 , maintenant à java 6, ceci dit c'est l'évolution de ces collections exple :passer d' Enumeration à Itérator et d'autres évolutions sur les collections..

    Pour un débutant à l'état actuel, doit t il apprendre même les versions antérieures java et donc mettre en pratique les Collections de ces dernières
    ou passer directement à la nouvelle version.

    Merci encore pour vos réponses

  11. #11
    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
    Citation Envoyé par chevy
    l'évolution de JAVA 2 à JAVA 5 , maintenant à java 6, ceci dit c'est l'évolution de ces collections exple :passer d' Enumeration à Itérator et d'autres évolutions sur les collections..
    Ceci ne correspond pas au passage vers Java 5.0 mais bel et bien à "Java 2" (c'est à dire le JDK 1.2).

    En effet l'API de Collection est apparut dans "Java 2" et a rendu "obsolète" les classes Vector/Hashtable/Stack ainsi que l'interface Enumeration...

    De plus l'API de Collection a alors adopté une structure plus propre en séparant les interfaces (Collection, List, Set, Map et Iterator) des implémentations (ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, ...).


    Ces principes de bases sont a connaitre à tout prix...

    Ensuite les différentes versions de Java ont principalement apportées de nouvelles interfaces (Queue, Deque, ConcurrentMap, NavigableSet, NavigableMap,...) ainsi que des implémentations plus spécifiques...

    Pour plus de détail : http://java.sun.com/javase/6/docs/te...ons/index.html


    Pour moi le principal étant de connaitre au moins les principales interfaces et leurs objectifs ainsi que le fonctionnement des Collections en général.

    Ensuite il suffit de consulter la javadoc pour déterminer quel implémentation est la plus adapté à notre besoin

    a++

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 67
    Par défaut
    Bonjour,

    Merci pour cette réponse, j'ai compris et je vais continuer à explorer l'API des collections...afin de bien maitriser ces dernières..

    A plus

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

Discussions similaires

  1. Quelle collection choisir?
    Par JCD21 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 16/04/2008, 10h35
  2. Premier langage web : quelle langage choisir ???
    Par skeeper dans le forum Débuter
    Réponses: 4
    Dernier message: 06/03/2005, 14h38
  3. [Strategie]arborescence : quelle structure choisir ?
    Par iubito dans le forum Général Java
    Réponses: 12
    Dernier message: 20/09/2004, 14h46
  4. Quelle licence choisir pour cette application ?
    Par krusaf dans le forum Licences
    Réponses: 6
    Dernier message: 08/07/2004, 20h20
  5. [Intranet] Quelle solution choisir ?
    Par stailer dans le forum Développement
    Réponses: 6
    Dernier message: 06/09/2003, 01h17

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