根据键值对对 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}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP