在Java 中按名稱對物件數組進行排序
在Java 中使用物件數組時,有必要對它們進行排序以進行組織且檢索方便。如果您不確定如何提取和比較值,則按特定欄位對物件數組進行排序可能是一項具有挑戰性的任務。
要按特定欄位(例如「名稱」)對物件陣列進行排序,您需要實作 Comparable 介面或提供自訂 Comparator。由於您的物件沒有名為“name”的字串字段,因此我們將建立一個比較器來執行排序。
提取名稱欄位
提取來自物件的名稱,您可以使用已實現的 toString() 方法。假設每個物件都有一個toString() 方法,該方法傳回物件欄位的字串表示形式,包括名稱:
建立比較器
To按名稱對數組進行排序,我們需要建立一個比較器,根據對象的名稱來比較對象名稱:
在上面的比較器中,compare() 方法比較兩個Book 對象,並根據比較結果傳回一個整數。如果 o1 的名稱依字典順序小於 o2 的名稱,則傳回負整數。如果名稱相等,則傳回 0。否則,傳回正整數。
對陣列進行排序
最後,您可以使用Collections.sort()使用比較器對陣列進行排序的方法:
這將按“名稱”欄位對物件數組進行排序升序。您可以透過反轉比較邏輯來修改比較器以降序排序。
以上是如何在 Java 中按名稱對物件數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!