Рассмотрим приведенный ниже код.С Java 8 вы можете использовать метод Comparator.comparing и сделать это довольно быстро.
TreeMap<String, List<String>> treeMap = new TreeMap<>(Comparator.comparing(t -> Integer.valueOf(t)));
treeMap.put("5", Arrays.asList(new String[] {"data1", "data2", "data3"}));
treeMap.put("3", Arrays.asList(new String[] {"data4", "data5", "data6"}));
treeMap.put("1", Arrays.asList(new String[] {"data7", "data8", "data9"}));
treeMap.put("4", Arrays.asList(new String[] {"data10", "data11", "data12"}));
treeMap.
forEach((k,v) -> System.out.println(k + "=="+v));
Вывод сортируется на основе ключей:
1==[data7, data8, data9]
3==[data4, data5, data6]
4==[data10, data11, data12]
5==[data1, data2, data3]