首页  >  文章  >  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 进行排序

根据水果对 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