首頁 > Java > Java入門 > java可以對map的key排序嗎

java可以對map的key排序嗎

(*-*)浩
發布: 2019-11-19 11:52:55
原創
2171 人瀏覽過

java可以對map的key排序嗎

Map是鍵值對的集合接口,它的實作類別主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 (建議學習:java課程

TreeMap:基於紅黑樹(Red-Black tree)的NavigableMap 實現,該映射根據其鍵的自然順序進行排序,或者根據創建映射時提供的Comparator 進行排序,取決於使用的​​建構方法。

Map.Entry傳回Collections視圖。

key排序

TreeMap預設是升序的,如果我們需要改變排序方式,則需要使用比較器:Comparator。 Comparator可以對集合物件或陣列進行排序的比較器接口,實作該介面的public compare(T o1,To2)方法即可實現排序,如下:

import java.util.Comparator;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class TreeMapTest {
    public static void main(String[] args) {
        Map<String, String> map = new TreeMap<String, String>(
                new Comparator<String>() {
                    public int compare(String obj1, String obj2) {
                        // 降序排序
                        return obj2.compareTo(obj1);
                    }
                });
        map.put("b", "ccccc");
        map.put("d", "aaaaa");
        map.put("c", "bbbbb");
        map.put("a", "ddddd");
        
        Set<String> keySet = map.keySet();
        Iterator<String> iter = keySet.iterator();
        while (iter.hasNext()) {
            String key = iter.next();
            System.out.println(key + ":" + map.get(key));
        }
    }
}
登入後複製

運行結果如下:

d:aaaaa
c:bbbbb
b:ccccc
a:ddddd
登入後複製

以上是java可以對map的key排序嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板