首頁 > Java > java教程 > 如何按 Java HashMap 的值對它進行排序?

如何按 Java HashMap 的值對它進行排序?

DDD
發布: 2024-12-07 13:36:18
原創
321 人瀏覽過

How Can I Sort a Java HashMap by Its Values?

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板