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 :

[debutant] recuperation donnees dans Map


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 51
    Par défaut [debutant] recuperation donnees dans Map
    comme explique dans un autre post j'ai des donnees dans un fichier du type:
    24/03/2005 17:38:00;12150;49.54;49.54;49.54;49.54;1311.00;4078.31
    24/03/2005 17:37:00;12150;49.54;49.54;49.54;49.54;0.00;4078.31
    24/03/2005 17:37:00;12970;13.04;13.04;13.04;13.04;0.00;4078.31
    24/03/2005 17:36:00;12062;20.69;20.69;20.69;20.69;2000.00;4078.31
    24/03/2005 17:36:00;12150;49.54;49.54;49.54;49.54;1000.00;4078.31
    24/03/2005 17:36:00;12970;13.04;13.04;13.04;13.04;2006.00;4078.31
    24/03/2005 17:35:00;12062;20.69;20.69;20.69;20.69;0.00;4078.31
    24/03/2005 17:35:00;12150;49.54;49.54;49.54;49.54;0.00;4078.31
    24/03/2005 17:35:00;12970;13.04;13.04;13.04;13.04;5000.00;4078.31
    24/03/2005 17:34:00;12062;20.69;20.69;20.69;20.69;0.00;4078.31
    24/03/2005 17:34:00;12150;49.54;49.54;49.54;49.54;0.00;4078.31

    et je les ai inserer dans une map avec comme cle la valeur de la 3 eme colonne et comme valeur un tableau conteant tout le reste.
    J'aimerais ensuite recuperer le tableau contenant les differentes valeurs mais a chaque fois il me renvoie que la derniere ligne du tableau de chaque cle...

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


    C'est normal car dans une Map les clefs sont uniques !
    Donc si tu rajoutes une valeur avec un clef existante, la valeur précédente sera supprimé...


    a++

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Bonjour,
    Je comprend pas tu dis qu'il te renvoie que la derniere ligne or d'apres ce que j'ai compris pour une clé tu n'as qu'un tableau a une dimension donc une ligne , je dirais donc que ta derniere ligne est aussi la premiere et donc celle que tu cherche non ?????

  4. #4
    Membre expérimenté Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par défaut
    Si ton tableau est du type String[], lorsque tu veux récupérer un de ces tableaux il te suffit de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] monTableau = (String[])maMap.get(key);
    Cats obligatoire car la méthode get(key) te retourne un Object.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Par défaut
    Citation Envoyé par adiGuba
    Salut,


    C'est normal car dans une Map les clefs sont uniques !
    Donc si tu rajoutes une valeur avec un clef existante, la valeur précédente sera supprimé...


    a++
    Ha bah oui j'avais pas vu que les clé etait identique voila qui explique ton raisonnement , effectviement adiGuba a raison et une fois de plus j'ai dit n'importe quoi

  6. #6
    Membre expérimenté Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par défaut
    Citation Envoyé par FreshVic
    Citation Envoyé par adiGuba
    Salut,


    C'est normal car dans une Map les clefs sont uniques !
    Donc si tu rajoutes une valeur avec un clef existante, la valeur précédente sera supprimé...


    a++
    Ha bah oui j'avais pas vu que les clé etait identique voila qui explique ton raisonnement , effectviement adiGuba a raison et une fois de plus j'ai dit n'importe quoi
    Pareil, je n'avais pas pris le temps de regarder toutes ses clés...

  7. #7
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 51
    Par défaut
    ah oui ca devient logique...
    mais alors pour eviter d'ecraser les valeurs je doit creer un tableau de vecteurs par exple?avec un vecteurs = 1 ligne de mon fichier pour la cle donnee ?

  8. #8
    Membre expérimenté Avatar de xxaragornxx
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 241
    Par défaut
    Citation Envoyé par tony_big_guy
    ah oui ca devient logique...
    mais alors pour eviter d'ecraser les valeurs je doit creer un tableau de vecteurs par exple?avec un vecteurs = 1 ligne de mon fichier pour la cle donnee ?
    Oui, ou une structure Collection telle que ArrayList par exemple...
    Ou alors ta clé peut être ton numéro de ligne par exemple...

  9. #9
    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
    Sinon si tu veux garder l'association "une clef" -> "plusieurs lignes", tu peux te faire une classe qui gèrerait une Map de List de String (Map<String,List<String>> avec les generics de Java 5.0)...

    Sans les generics cela donne :
    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
    26
     
     
    private class Map map = new HashMap();
     
    public void addRow (String key, String row) {
     
    	List list = (List) this.map.get(key);
     
    	if (list == null) {
    		// S'il n'y a pas de liste pour cette "key"
    		// il faut la créer et l'ajouter à la Map
    		list = new ArrayList();
    		this.map.put(key, list);
    	}
     
    	// Et on ajoute la ligne dans la liste
    	list.add(row);
    }
     
    public String[] getRow (String key) {
    	List list = (List) this.map.get(key);
    	if (list==null) {
    		return null;
    	}
    	return list.toArray(new String[list.size()]);
    }
    a++

  10. #10
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 51
    Par défaut
    ok merci j'ai reussi avec une methode dans le meme style...

  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 tony_big_guy
    ok merci j'ai reussi avec une methode dans le meme style...
    Un petit alors (en bas à droite)

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

Discussions similaires

  1. Recuperer donnee dans ma liste
    Par Diablo_22 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 29/02/2008, 10h46
  2. [debutant]recuperer donnee dans menu deroulant
    Par lexu1213 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/06/2007, 11h43
  3. [Debutant]recupere les données d'un requete dans le form
    Par [thebadskull] dans le forum Access
    Réponses: 1
    Dernier message: 04/05/2006, 10h53
  4. pblme pour recuperer donnee dans fichier texte c++
    Par aerosketchique dans le forum C++
    Réponses: 1
    Dernier message: 11/04/2006, 13h05
  5. Réponses: 10
    Dernier message: 01/02/2006, 18h25

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