根據鍵值對對 Java 中的 HashMap 進行排序


眾所周知,Java 中的雜湊圖不按鍵值對或順序維護插入順序,在向雜湊圖中新增條目時也不維護其他任何順序。

但 Java 提供了另一個名為 TreeMap 的 API,它按照其鍵的自然順序維護插入順序。因此,為了對給定的散列表按鍵值對進行排序,我們將把散列表插入到TreeMap中,TreeMap預設按照鍵排序進行插入。在插入之後,我們將橫向遍歷排好序的同一個 TreeMap,它便是我們生成的有序散列表。

示例

 線上演示

import java.util.HashMap;
import java.util.TreeMap;
public class HashMapSortByKey {
   public static void main(String[] args) {
      HashMap<String,Integer> hMap = new HashMap<>();
      TreeMap<String,Integer> sortedMap = new TreeMap<>();
      hMap.put("Akshay",5);
      hMap.put("Veer",8);
      hMap.put("Guang",3);
      hMap.put("Bakshi",7);
      hMap.put("TomTom",2);
      hMap.put("Chang",10);
      hMap.put("Sandy",1);
      sortedMap = sortByKey(hMap);
      System.out.println(sortedMap);
   }
   public static TreeMap<String,Integer> sortByKey(HashMap<String,Integer> mapToSort) {
      TreeMap<String,Integer> sortedMap = new TreeMap<>();
      sortedMap.putAll(mapToSort);
      return sortedMap;
   }
}

輸出

建立如下文字的 myCSV.csv 檔案

{Akshay=5, Bakshi=7, Chang=10, Guang=3, Sandy=1, TomTom=2, Veer=8}

更新日期:2020-6-25

1 千次以上瀏覽

開始你的職業生涯

完成課程獲得認證

開始
廣告