溫馨提示×

JAVA中hashmap怎么排序

小億
170
2024-01-19 13:55:14
欄目: 編程語言

在Java中,HashMap是一個無序的集合,它不會按照特定的順序存儲鍵值對。如果你想對HashMap中的元素進行排序,可以將其轉換為一個有序的集合,例如TreeMap。

TreeMap是基于紅黑樹實現的有序映射,它會根據鍵的自然順序或者自定義的Comparator進行排序。下面是一個使用Comparator對HashMap按照鍵進行排序的示例:

import java.util.*;

public class SortHashMap {
    public static void main(String[] args) {
        HashMap<String, Integer> hashMap = new HashMap<>();
        hashMap.put("Tom", 30);
        hashMap.put("Alice", 25);
        hashMap.put("Bob", 35);
        hashMap.put("John", 40);

        TreeMap<String, Integer> sortedMap = new TreeMap<>(new Comparator<String>() {
            public int compare(String s1, String s2) {
                return s1.compareTo(s2); // 按照鍵的自然順序排序
            }
        });
        sortedMap.putAll(hashMap);

        for (Map.Entry<String, Integer> entry : sortedMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

輸出結果:

Alice: 25
Bob: 35
John: 40
Tom: 30

在這個示例中,我們首先創建一個HashMap并添加一些鍵值對。然后,我們創建一個TreeMap,并傳入一個自定義的Comparator,該Comparator會根據鍵的自然順序進行比較。最后,我們使用putAll()方法將HashMap中的元素放入TreeMap,并使用entrySet()遍歷有序的鍵值對。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女