Maison > Java > javaDidacticiel > Comment trier les collections Java : expressions comparatives, comparables et Lambda ?

Comment trier les collections Java : expressions comparatives, comparables et Lambda ?

Susan Sarandon
Libérer: 2024-11-07 22:49:02
original
714 Les gens l'ont consulté

How to Sort Java Collections: Comparator, Comparable, and Lambda Expressions?

Tri des collections Java

Pour trier une collection Java, il existe plusieurs approches à considérer, en fonction des exigences spécifiques. Une option courante consiste à utiliser un Comparator.

Utiliser un Comparator :

Créez une classe Comparator qui implémente l'interface Comparator. Dans la méthode compare(), vous définissez la logique de comparaison des objets. Par exemple, pour trier un CustomObject par son champ id :

Comparator<CustomObject> comparator = new Comparator<CustomObject>() {
    @Override
    public int compare(CustomObject left, CustomObject right) {
        return left.getId() - right.getId();
    }
};
Copier après la connexion

Ensuite, utilisez le Comparator pour trier la collection à l'aide de Collections.sort() :

Collections.sort(list, comparator);
Copier après la connexion

Alternativement, si votre CustomObject implémente Comparable, vous pouvez utiliser directement Collections.sort(list).

Avec les expressions lambda du JDK 8 :

Introduites dans le JDK 8, les expressions lambda offrent un moyen pratique pour écrire des comparateurs :

Collections.sort(list, (left, right) -> left.getId() - right.getId());
Copier après la connexion

Notation abrégée avec JDK 8 :

Pour des scénarios simples, la notation abrégée suivante peut être utilisée pour trier selon un champ spécifique :

list.sort(Comparator.comparing(CustomObject::getId));
Copier après la connexion

En fin de compte, la meilleure approche pour trier une collection Java dépend des besoins spécifiques et de la version Java utilisée.

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