Сортировка ключей в HashTable в Java

Вы не можете отсортировать HashTable с его ключами, но вы можете спасти коллекцию ArrayList, которая попала в аргумент метода Collections.sort().

В этом примере мы копируем ключи из HashTable в ArrayList. Ключи получаются с помощью keySet(), затем вызовите Collections.sort() который принимает в качестве аргумента только что созданный ArrayList, содержащий наши keys.

import java.util.ArrayList; 
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) {

//создаем hashtable
Hashtable ht = new Hashtable();

//добавляем пары ключ-значение
ht.put("d", "fourth");
ht.put("a", "первый");
ht.put("c", "третий");
ht.put("e", "пятый");
ht.put("b", "второй");

System.out.println("Перед сортировкой:");
for (Map.Entry entry : ht.entrySet())
{
System.out.println(entry.getKey());
}

//создаем список массивов с ключами, полученными из hashtable
List listcles = new ArrayList(ht.keySet());
//сортировка arraylist
Collections.sort(listcles);

System.out.println("После сортировки:");
for(String key:listcles)
System.out.println(cle);
}
}
Output:

Before sorting:
b
a
e
d
c
После сортировки:
a
b
c
d
e