在LinkedHashMap中按字母顺序排序键

时间:2015-08-17 10:06:02

标签: java sorting key linkedhashmap

我有一个LinkedHashMap,我想按字母顺序对其键(字符串)进行排序。但是,它不能使用Collections.sort()方法,因为它不会使用LinkedHashMap本身或LinkedHashMap的键集。

我唯一的选择是在填充LinkedHashMap时手动对它们进行排序,但在此之前我想知道是否有人知道更好的方法。

1 个答案:

答案 0 :(得分:0)

更好的方法是使用支持订单的Map,例如TreeMap。

但是,如果你的设计很糟糕,你无法修复,你可以这样做。

 LinkedHashMap<String, String> map = ...
 TreeMap<String, String> copy = new TreeMap<>(map);
 map.clear();
 map.putAll(copy);

这可能会起作用,但是如果你添加一个键,你的地图就不会再被排序了。