簡體   English   中英

如何按鍵順序對HashMap排序?

[英]How to sort HashMap by key order?

我想要按鍵排序的整個哈希圖的副本。 哈希圖的類型為HashMap。 以下是我的工作。

SortedSet<String> keys = new TreeSet<String>(unsortedap.keySet());
        for (String key : keys) {
            String value = unsortedMap.get(key);
            // I have noticed that here the key values are in order
            // How do I copy these ordered values to a hashmap?
}

這些值似乎在使用TreeSet之后進行了排序,但是,我不確定現在要做什么。 如何將這些值放入新的哈希圖中?

最簡單的方法是將鍵值對放入TreeMap中。 通常,這將通過默認比較器順序的鍵來排序。 如果您需要自定義排序,則可以使用實現您的首選排序的自定義比較器來構造TreeMap。

代替您的代碼,只需使用:

SortedMap<String, String> sortedMap = new TreeMap<>(unsortedMap);

您可以確保TreeMap將使用與TreeSet相同的順序,僅是因為TreeSet無論如何都使用在其“內部”使用null值的TreeMap。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM