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 :

utilisation de TreeMap java


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut utilisation de TreeMap java
    Bonjour,
    j'ai des données qui listent tous les achats de clients.
    je voudrais récupérer pour chaque client la liste ordonnée de ses achats, par exp:
    Client1-->Poduit a,Produit b,Produit c (achetés dans cet ordre là)
    le but c'est de savoir s'il existe d'autres clients qui ont acheté déja les mêmes produits et dans ce même ordre exactement.
    j'ai pensé à utiliser des TreeMap et créer pour chaque client une TreeMap contenant ses produits.
    je voudrais savoir si c'est vraiment le bon choix.
    Merci.

  2. #2
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Bon, si j'ai bien compris ce que tu veux (), je te conseille ceci:
    Tu utilises une Map (HashMap à priori, pas besoin d'ordonner donc pas besoin d'une TreeMap) qui associe à un client une liste de produit. (Map<Client, List<Produit>> en 1.5 ou +)

    Après pour savoir quels clients ont les mêmes achats (dans le même ordre) que le 'clientRef', tu fais un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    List<Client> memesAchats = new ArrayList<Client>();
    for(Client client : map.keySet()) {
        if (map.get(client).equals(map.get(clientRef)) {
            memesAchats.add(client);
        }
    }
    A noter que clientRef sera dans ta liste memesAchats.

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    Merci Deaf pour ta réponse.
    En fait c'est un petit peu plus compliqué. chaque client a plusieurs sessions et je dois récupérer cette liste ordonnée de produits par session client. et à la fin dans ma liste je veux rajouter la liste de produits communs entre clients et non pas le ClientRef.
    j'ai essayé ce code là avec Equals mais ça ne marche pas.

    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
     
    for (Iterator it = productSessionsClientA.values().iterator(); it.hasNext();){
        		  	HashMap productsClientA = (HashMap)it.next();	
     
     
        	  for (Iterator itr = productSessionsClientB.values().iterator(); itr.hasNext();){
        		  	HashMap productsClientB = (HashMap)itr.next();	  
     
     
    			  if(productsClientB.equals(productsClientA)){
     
    			  ArrayList tst = new ArrayList();
    			  tst.add(productsClientB);
     
    			  }
    			  }}

  4. #4
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    J'aurais besoin de quelques éclaircissement :
    - que représente productSessionsClientA?
    - que représente productsClientA?

    je comprend que productsClientA est une valeur de productSessionsClientA, mais pour ces deux Map, quelles sont les clés?
    L'usage le plus courant des Map est le parcours par les clés, et non par les valeurs.
    Eclaire-moi, et j'essaierai de t'aider davantage.

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Par défaut
    productSessionsClientA est une hashMap qui représente les produits achetés par client et par session, par exp pour le client1 :
    {304=304}
    {288=288, 322=322, 874=874}
    {307=307, 303=303}
    {301=301}
    chaque ligne représente une transaction.

    productsClientA c'est une autre hashMap qui récupère ces mêmes valeurs de produitsID(disons que ça fait un peu double emploi)
    En fait mon grand souci c'est comment comparer 2 collections: une hashMap de client A :productsClientA et une hashMap du client B:productsClientB tout en les parcourant.
    et je voudrais faire cette comparaison session par session, c'est pour ça que je faisais une itération au début sur les produits par session.
    je ne sais pas si j'étais assez claire

  6. #6
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Euh... non, je n'ai pas trop compris.
    Peux-tu détailler un peu plus ton exemple : que représente {288=288, 322=322, 874=874}.
    Je suppose que les nombres sont les ID des produits, mais 288=288, ça signifie quoi?

    Comme j'ai pas totalement compris, je peux me tromper, mais j'ai l'impression que l'utilisation de Map n'est pas bonne.

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

Discussions similaires

  1. Erreur lors de l'utilisation de TableSorter.java
    Par Frac10 dans le forum AWT/Swing
    Réponses: 47
    Dernier message: 20/11/2006, 12h06
  2. [Protocole] Utiliser SNMP sous Java !?
    Par condor_01 dans le forum Entrée/Sortie
    Réponses: 12
    Dernier message: 31/07/2006, 12h19
  3. Utilisation DLL avec java et licence ?
    Par dinver dans le forum Général Java
    Réponses: 4
    Dernier message: 13/04/2006, 21h23
  4. [API] Utiliser Samba avec Java
    Par Begood dans le forum Général Java
    Réponses: 1
    Dernier message: 13/03/2006, 19h26
  5. utiliser DocBook avec Java et générer du HTML
    Par hélia dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/03/2006, 17h09

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