Trier les clés dans une HashTable en Java
On peut pas trier une HashTable avec ses clés mais on peut faire secours à la collection ArrayList qui est prise dans l'argument de la méthode Collections.sort().
Dans cet exemple, on est entrain de copier les clés de HashTable dans une ArrayList. Les clés sont obtenues avec keySet(), puis on fait appel à Collections.sort() qui prend comme argument la nouvelle ArrayList créée qui contient nos clés.
Dans cet exemple, on est entrain de copier les clés de HashTable dans une ArrayList. Les clés sont obtenues avec keySet(), puis on fait appel à Collections.sort() qui prend comme argument la nouvelle ArrayList créée qui contient nos clés.
import java.util.ArrayList;Sortie:
import java.util.Collections;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
public class TriTreeMap {
public static void main(String[] args) {
//créer une instance de hashtable
Hashtableht = new Hashtable ();
//ajouter les pairs clés-valeurs
ht.put("d", "quatrième");
ht.put("a", "premier");
ht.put("c", "troisième");
ht.put("e", "cinquième");
ht.put("b", "deuxième");
System.out.println("Avant le tri:");
for (Map.Entryentry : ht.entrySet())
{
System.out.println(entry.getKey());
}
//créer une arraylist avec les clés recupérées de hashtable
Listlistcles = new ArrayList (ht.keySet());
//trier arraylist
Collections.sort(listcles);
System.out.println("Après le tri:");
for(String cle:listcles)
System.out.println(cle);
}
}
Avant le tri:
b
a
e
d
c
Après le tri:
a
b
c
d
e