首頁  >  文章  >  Java  >  如何根據特定屬性對 Java 中的自訂物件的 ArrayList 進行排序?

如何根據特定屬性對 Java 中的自訂物件的 ArrayList 進行排序?

Linda Hamilton
Linda Hamilton原創
2024-11-16 17:03:03306瀏覽

How to Sort an ArrayList of Custom Objects in Java Based on a Specific Property?

如何在Java 中對自訂物件的ArrayList 進行排序

對自訂物件的ArrayList 進行排序涉及根據特定屬性比較物件。在本例中,我們有一個 Fruit 物件列表,我們希望根據水果名稱對它們進行排序。

建立Fruit 類別和ArrayList

我們開始透過定義Fruit 類別及其屬性和getter/setter:

public class Fruit {
    private String fruitName;
    private String fruitDesc;
    private int quantity;
    // getters and setters
}

// Create an ArrayList of Fruit
List<Fruit> fruits = new ArrayList<>();

將Fruits 加到ArrayList

我們使用循環填充ArrayList:

Fruit fruit;
for (int i = 0; i < 100; i++) {
    fruit = new Fruit();
    // set fruit properties
    fruits.add(fruit);
}

對ArrayList 進行排序

根據水果排序對名稱,我們使用Collections.sort 方法和自訂比較器:

Collections.sort(fruits, new Comparator<Fruit>() {
    @Override
    public int compare(Fruit fruit1, Fruit fruit2) {
        return fruit1.getFruitName().compareTo(fruit2.getFruitName());
    }
});

在比較器中,我們使用compareTo方法來比較兩個水果的水果名稱,並根據結果返回一個整數:

  • 如果fruit1的名稱按字母順序位於fruit2的名稱之前,則傳回負整數。
  • 如果fruit1的名稱位於fruit2的之後name 按字母順序排列,則傳回正整數。
  • 如果兩個名稱相同,則傳回 0。

排序後,fruits ArrayList 將包含按字母順序排列的 Fruit 物件以水果名稱命名。

以上是如何根據特定屬性對 Java 中的自訂物件的 ArrayList 進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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