2015-08-17 45 views
0

我有一個LinkedHashMap,我想按字母順序排列它的鍵(它們是字符串)。但是,它不適用於Collections.sort()方法,因爲它不會採用LinkedHashMap本身或LinkedHashMap的密鑰集。在LinkedHashMap中按字母順序排序鍵

我唯一的選擇是在填寫LinkedHashMap時手動排序它們,但在這之前我想知道是否有人知道更好的方法。

+1

你是什麼意思「排序鍵」?你是否想按照字母鍵順序遍歷條目,或者直接提取鍵並對它們進行排序? – Bohemian

+0

按字母順序迭代輸入對我來說已經足夠了 – ImNoProGrammer

回答

0

更好的方法是使用支持訂單的地圖,如TreeMap。

但是,如果你有一個破碎的設計,你不能修復你可以做到這一點。

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

這會發生工作,但如果您添加一個鍵,您的地圖將不再被排序。

+0

謝謝!它工作得很好。 – ImNoProGrammer