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 :

Trier un HashMap par la Clé


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Par défaut Trier un HashMap par la Clé
    Bonjour tout le monde,
    J'ai mis en place cette hashmap qui fonctionne bien
    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
    public static Map<String, String> getMapNomFourNumFour(){
    		connexion = new BDConnectAS400();
    		String requette = "SELECT DISTINCT NFOUFO,RSOCFO FROM B33STFC.FTFOUL01 WHERE CRAYFO = '205' OR CRAYFO = '208'"+"" +
    		"OR CRAYFO = '220' OR CRAYFO = '221' OR CRAYFO = '222' OR CRAYFO = '225' OR CRAYFO = '230' ORDER BY RSOCFO ASC";
    		Statement state;
    		ResultSet res;
    		HashMap<String, String> maHashMap = new HashMap<String, String>();
    		try{
    			state = connexion.getInstance().createStatement();
    			res = state.executeQuery(requette);
    		while(res.next()){
    		maHashMap.put(res.getString(2), res.getString(1));
    		}
    			res.close();
    			return maHashMap;
    		}catch (SQLException e){
    	  }
    		Map<String, String> sortedMap = new TreeMap<String, String>(maHashMap);
    		return null;
    	}
    Malheureusement, les données transmis ne sont pas trié. Je voudrais éffectué un tri alphabétique sur la clé.
    Quelqu'un pourrait m'aider ?

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    le plus drole c'est que la solution est déjà dans ton code, utilise un TreeMap.

  3. #3
    Membre éclairé Avatar de the watcher
    Inscrit en
    Juillet 2003
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 356
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    le plus drole c'est que la solution est déjà dans ton code, utilise un TreeMap.

    J'avais trouvé cette astuce sur le net, mais ne sachant pas comment l'utiliser, voici pourquoi je me suis référé à vous.
    J'ai remplacé HashMap par TreeMap :
    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
    public static Map<String, String> getMapNomFourNumFour(){
    		connexion = new BDConnectAS400();
    		String requette = "SELECT DISTINCT NFOUFO,RSOCFO FROM B33STFC.FTFOUL01 WHERE CRAYFO = '205' OR CRAYFO = '208'"+"" +
    		"OR CRAYFO = '220' OR CRAYFO = '221' OR CRAYFO = '222' OR CRAYFO = '225' OR CRAYFO = '230' ORDER BY RSOCFO ASC";
    		Statement state;
    		ResultSet res;
    		Map<String, String> maHashMap = new TreeMap<String, String>();
    		try{
    			state = connexion.getInstance().createStatement();
    			res = state.executeQuery(requette);
     
    			while(res.next()){
    				maHashMap.put(res.getString(2), res.getString(1));
    			}
    			res.close();
    			return maHashMap;
    		}catch (SQLException e){
    	  }
    	return null;
    	}
    Ça marche proprement.
    Vous êtes vraiment trop cool à developpez.com.
    Un gros à tchize_

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    n'oublie pas le bouton

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

Discussions similaires

  1. [Collection] Trier une Hashmap par valeur
    Par aelmalki dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 16/07/2009, 18h08
  2. Trier les fichiers par type et les afficher par groupe ...
    Par KneXtasY dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 18/09/2005, 18h50
  3. Trier un tableau par rapport à un autre tableau
    Par deaven dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 02/05/2005, 09h27
  4. [C#] Trier une Hashtable par les valeurs
    Par Joad dans le forum ASP.NET
    Réponses: 4
    Dernier message: 25/04/2005, 16h29
  5. Trier un tableau par ordre croissant
    Par Halleck dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 01/11/2004, 00h04

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