根據鍵值對對 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}
廣告