Tri des listes de tableaux avec des commandes personnalisées
Dans de nombreuses applications, telles que les carnets d'adresses, le tri est une fonctionnalité cruciale. Ce didacticiel explique comment implémenter un tri personnalisé pour les ArrayLists, vous permettant de trier les objets en fonction de critères spécifiques.
Ordre naturel à l'aide de Comparable
Si vous souhaitez établir un tri par défaut ordre de tri, implémentez l’interface Comparable pour votre classe Contact. En définissant la méthode compareTo, vous pouvez spécifier comment les objets doivent être comparés. Par exemple, pour trier par nom, implémentez-le comme suit :
public class Contact implements Comparable<Contact> { private String name; // ... @Override public int compareTo(Contact other) { return name.compareTo(other.name); } }
Cela vous permet de trier une ArrayList de contacts à l'aide de Collections.sort(contacts);, et ils seront triés par nom.
Ordre externe à l'aide de Comparator
Pour remplacer l'ordre naturel, créez une implémentation de Comparator. Par exemple, pour trier par adresse :
List<Contact> contacts = new ArrayList<>(); // Fill it. Collections.sort(contacts, new Comparator<Contact>() { public int compare(Contact one, Contact other) { return one.getAddress().compareTo(other.getAddress()); } });
Generic BeanComparator
Pour une solution générique, envisagez d'utiliser un BeanComparator, qui compare les objets en fonction d'un nom de champ spécifié . Pour trier par numéro de téléphone :
// Sort on "phone" field of the Contact bean. Collections.sort(contacts, new BeanComparator("phone"));
Conseils supplémentaires
En suivant ces techniques, vous pouvez mettre en œuvre efficacement un tri personnalisé pour les ArrayLists, garantissant ainsi que vos données sont organisées en fonction de vos besoins spécifiques.
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!