首頁  >  文章  >  Java  >  如何在 Java 中按名稱對物件數組進行排序?

如何在 Java 中按名稱對物件數組進行排序?

Patricia Arquette
Patricia Arquette原創
2024-11-16 04:31:03533瀏覽

How do I sort an array of objects by name in Java?

在Java 中按名稱對物件數組進行排序

在Java 中使用物件數組時,有必要對它們進行排序以進行組織且檢索方便。如果您不確定如何提取和比較值,則按特定欄位對物件數組進行排序可能是一項具有挑戰性的任務。

要按特定欄位(例如「名稱」)對物件陣列進行排序,您需要實作 Comparable 介面或提供自訂 Comparator。由於您的物件沒有名為“name”的字串字段,因此我們將建立一個比較器來執行排序。

提取名稱欄位

提取來自物件的名稱,您可以使用已實現的 toString() 方法。假設每個物件都有一個toString() 方法,該方法傳回物件欄位的字串表示形式,包括名稱:

建立比較器

To按名稱對數組進行排序,我們需要建立一個比較器,根據對象的名稱來比較對象名稱:

在上面的比較器中,compare() 方法比較兩個Book 對象,並根據比較結果傳回一個整數。如果 o1 的名稱依字典順序小於 o2 的名稱,則傳回負整數。如果名稱相等,則傳回 0。否則,傳回正整數。

對陣列進行排序

最後,您可以使用Collections.sort()使用比較器對陣列進行排序的方法:

這將按“名稱”欄位對物件數組進行排序升序。您可以透過反轉比較邏輯來修改比較器以降序排序。

以上是如何在 Java 中按名稱對物件數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn