根据键值对对 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}
广告