JAVA : Trier un HashMap (sur la clé)

Inspiré de cette article en anglais.
Dans le cas d’un tri sur la clé, la meilleure solution consiste à utiliser un TreeMap<k, B>.

1ère étape : créer un comparateur. Ici, la clé de mon HashMap est de type MaClasse. On veut trier sur l’attribut MaClass.monChamp.


private Comparator monComparer = new Comparator() 
{
	@Override                
	public int compare(MaClasse o1, MaClasse o2) 
	{                        
		return o1.monChamp.compareTo(o2.monChamp);                
	}
};

2ème étape : créer (pourquoi pas) une fonction qui trie un HashMap non trié…

public HashMap<maClasse, ClasseQuelconque> TrieMoiCeHashMap(HashMap<maClasse, ClasseQuelconque> listeNonTriee)
{
	Map<maClasse, String> listeTriee = new TreeMap<maClasse, String>(monComparer);
	listeTriee.putAll(listeNonTriee);
	return listeTriee;
}

Elémentaire !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *