我有一个LinkedHashMap,我想按字母顺序对其键(字符串)进行排序。但是,它不能使用Collections.sort()方法,因为它不会使用LinkedHashMap本身或LinkedHashMap的键集。
我唯一的选择是在填充LinkedHashMap时手动对它们进行排序,但在此之前我想知道是否有人知道更好的方法。
答案 0 :(得分:0)
更好的方法是使用支持订单的Map,例如TreeMap。
但是,如果你的设计很糟糕,你无法修复,你可以这样做。
LinkedHashMap<String, String> map = ...
TreeMap<String, String> copy = new TreeMap<>(map);
map.clear();
map.putAll(copy);
这可能会起作用,但是如果你添加一个键,你的地图就不会再被排序了。