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 !