HashMap是一個無序的集合,它不支持排序。但是可以根據HashMap的鍵或值進行排序。
根據鍵排序:
HashMap<String, Integer> map = new HashMap<>();
// 添加鍵值對到map
List<String> sortedKeys = new ArrayList<>(map.keySet());
Collections.sort(sortedKeys);
// 遍歷排序后的鍵集合并訪問對應的值
for (String key : sortedKeys) {
Integer value = map.get(key);
System.out.println(key + ": " + value);
}
根據值排序:
HashMap<String, Integer> map = new HashMap<>();
// 添加鍵值對到map
List<Map.Entry<String, Integer>> sortedEntries = new ArrayList<>(map.entrySet());
Collections.sort(sortedEntries, (entry1, entry2) -> entry1.getValue().compareTo(entry2.getValue()));
// 遍歷排序后的鍵值對并訪問鍵和值
for (Map.Entry<String, Integer> entry : sortedEntries) {
String key = entry.getKey();
Integer value = entry.getValue();
System.out.println(key + ": " + value);
}
注意:以上排序方法只能對鍵或值是基本類型的HashMap進行排序。如果HashMap的鍵或值是自定義對象,需要自定義比較器(comparator)來實現排序。