Maison >Java >javaDidacticiel >Comment trier une liste de tableaux d'objets personnalisés en Java en fonction d'une propriété spécifique ?

Comment trier une liste de tableaux d'objets personnalisés en Java en fonction d'une propriété spécifique ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 17:03:03392parcourir

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

Comment trier une ArrayList d'objets personnalisés en Java

Le tri d'une ArrayList d'objets personnalisés implique de comparer les objets en fonction de propriétés spécifiques. Dans ce cas, nous avons une liste d'objets Fruit, et nous voulons les trier en fonction de leurs noms de fruits.

Création de la classe Fruit et de l'ArrayList

Nous commençons en définissant la classe Fruit avec ses attributs et ses getters/setters :

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

Ajout de Fruits à l'ArrayList

On remplit l'ArrayList à l'aide d'une boucle :

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

Tri de l'ArrayList

Pour trier l'ArrayList en fonction des noms de fruits, nous utilisons la méthode Collections.sort et un comparateur personnalisé :

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

Dans le Comparator, nous utilisons la méthode compareTo pour comparer les noms de fruits des deux fruits et renvoyer un entier basé sur le résultat :

  • Si le nom de fruit1 vient avant le nom de fruit2 par ordre alphabétique, il renvoie un entier négatif.
  • Si le nom de fruit1 vient après le nom de fruit2 par ordre alphabétique, il renvoie un entier positif.
  • Si les deux noms sont identiques, il renvoie 0.

Après le tri, la ArrayList de fruits contiendra les objets Fruit classés par ordre alphabétique selon leurs noms de fruits.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn