Maison > Java > javaDidacticiel > Comment trier un tableau d'objets par nom en Java ?

Comment trier un tableau d'objets par nom en Java ?

Barbara Streisand
Libérer: 2024-11-25 12:17:12
original
727 Les gens l'ont consulté

How to Sort an Array of Objects by Name in Java?

Tri de tableaux d'objets en Java

Problème :

Vous disposez d'un tableau d'objets qui ne contiennent pas de chaînes mais ont plutôt des références d'objet. Chaque référence d'objet fournit des informations sur le nom, l'ID, l'auteur et l'éditeur via une méthode toString. La tâche consiste à trier ce tableau par le champ de nom. Cependant, vous ne savez pas comment extraire le nom de chaque objet et l'utiliser comme critère de tri.

Solution :

Pour extraire le nom de chaque objet et trier par ce champ, vous pouvez utiliser l'approche suivante :

List<Book> books = new ArrayList<Book>();

Collections.sort(books, new Comparator<Book>() {
  @Override
  public int compare(Book o1, Book o2) {
    return o1.getName().compareTo(o2.getName());
  }
});
Copier après la connexion

Dans ce exemple :

  • Liste est une liste représentant votre tableau d'objets.
  • Collections.sort est utilisé pour trier la liste.
  • new Comparator() {...} définit un comparateur personnalisé pour déterminer le ordre de tri.
  • o1.getName() extrait le champ de nom du premier objet en utilisant la méthode getter ou un accès direct si le champ est public.
  • o2.getName() extrait le champ de nom du deuxième objet.
  • compareTo compare les noms extraits, renvoyant une valeur négative si le prénom est plus petit, une valeur positive s'il est plus grand, et zéro s'ils sont égaux.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal