在Java 中對HashMap 進行排序:基於值的技術
在Java 中,HashMap 是用於儲存鍵值對的有價值的集合,但是它們不維護特定的排序順序。要根據值對 HashMap 進行排序,我們需要採用額外的技術。
基於值的排序方法
一種方法是將 HashMap 轉換為清單使用values() 方法取得值。然後我們可以使用定義所需排序邏輯的比較器對清單進行排序。
Map<String, Person> people = new HashMap<>(); Person jim = new Person("Jim", 25); Person scott = new Person("Scott", 28); Person anna = new Person("Anna", 23); people.put(jim.getName(), jim); people.put(scott.getName(), scott); people.put(anna.getName(), anna); List<Person> peopleByAge = new ArrayList<>(people.values()); Collections.sort(peopleByAge, Comparator.comparing(Person::getAge));
對清單進行排序後,我們可以存取排序後的元素。
另一種方法,適合頻繁訪問,就是創建一個HashMap到有序集合的映射。例如,我們可以使用 HashMap
考慮 TreeMap
如果首選按鍵排序,則值得考慮使用 TreeMap。 TreeMaps 根據鍵自動維護自然排序順序。
以上是如何按 Java HashMap 的值對它進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!