0
我有一個LinkedHashMap,我想按字母順序排列它的鍵(它們是字符串)。但是,它不適用於Collections.sort()方法,因爲它不會採用LinkedHashMap本身或LinkedHashMap的密鑰集。在LinkedHashMap中按字母順序排序鍵
我唯一的選擇是在填寫LinkedHashMap時手動排序它們,但在這之前我想知道是否有人知道更好的方法。
我有一個LinkedHashMap,我想按字母順序排列它的鍵(它們是字符串)。但是,它不適用於Collections.sort()方法,因爲它不會採用LinkedHashMap本身或LinkedHashMap的密鑰集。在LinkedHashMap中按字母順序排序鍵
我唯一的選擇是在填寫LinkedHashMap時手動排序它們,但在這之前我想知道是否有人知道更好的方法。
更好的方法是使用支持訂單的地圖,如TreeMap。
但是,如果你有一個破碎的設計,你不能修復你可以做到這一點。
LinkedHashMap<String, String> map = ...
TreeMap<String, String> copy = new TreeMap<>(map);
map.clear();
map.putAll(copy);
這會發生工作,但如果您添加一個鍵,您的地圖將不再被排序。
謝謝!它工作得很好。 – ImNoProGrammer
你是什麼意思「排序鍵」?你是否想按照字母鍵順序遍歷條目,或者直接提取鍵並對它們進行排序? – Bohemian
按字母順序迭代輸入對我來說已經足夠了 – ImNoProGrammer