ホームページ >Java >&#&チュートリアル >JavaでカスタムオブジェクトのArrayListを特定のプロパティに基づいて並べ替える方法

JavaでカスタムオブジェクトのArrayListを特定のプロパティに基づいて並べ替える方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-16 17:03:03383ブラウズ

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

Java でカスタム オブジェクトの ArrayList を並べ替える方法

カスタム オブジェクトの ArrayList を並べ替えるには、特定のプロパティに基づいてオブジェクトを比較する必要があります。この場合、Fruit オブジェクトのリストがあり、それらをフルーツ名に基づいて並べ替えたいと考えています。

Fruit クラスと ArrayList の作成

始めます属性とゲッター/セッターを使用して Fruit クラスを定義します。

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<>();

ArrayList へのフルーツの追加

ループを使用して ArrayList に値を設定します。

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

ArrayList の並べ替え

果物の名前に基づいて ArrayList を並べ替えるには、Collections.sort メソッドとカスタム Comparator を使用します。

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

コンパレーターでは、compareTo メソッドを使用して 2 つの果物の名前を比較し、結果に基づいて整数を返します。

  • fruit1 の名前がアルファベット順で Fruit2 の名前より前にある場合、返されます。負の整数。
  • フルーツ 1 の名前がアルファベット順でフルーツ 2 の名前の後に来る場合、正の整数を返します。
  • 両方の名前が同じ場合、0 を返します。

並べ替えると、果物の ArrayList には、果物名のアルファベット順に並べられた Fruit オブジェクトが含まれます。

以上がJavaでカスタムオブジェクトのArrayListを特定のプロパティに基づいて並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。