Les implémentations de liste définies dans le cadre de la collection Java incluent Vector, ArrayList et LinkedList. Ces collections fournissent un accès d'index aux groupes d'objets. Ils fournissent un soutien à l'ajout et à la suppression des éléments. Cependant, ils n'ont pas de support de tri d'éléments intégré.
Vous pouvez trier les éléments de liste à l'aide de la méthode tri () dans la classe java.util.collections. Vous pouvez soit transmettre un objet de liste à la méthode, soit passer une liste et un comparateur. Si tous les éléments de la liste sont des classes du même type et que cette classe implémente l'interface comparable, vous pouvez simplement appeler Collection.Sort (). Si cette classe n'implémente pas le comparateur, vous pouvez également transmettre un comparateur dans la méthode tri () pour trier. Si vous ne souhaitez pas trier en utilisant l'ordre de classification par défaut, vous pouvez également transmettre un comparateur dans la méthode tri () pour trier.
1. Objets comparables implémentent une interface comparable
classe publique met en œuvre {private id id; {this.id = id;} public int Getage () {return Age;} public void segage (int age) {this.age =} public string getName () {Nom de retour; {this.name = name;} public static void main (String args []) {list <Student> list = new ArrayList <Student> (); Add (New Student (i));} Collection.Sort (liste); (o Instruction Of Student) {Student S = (Student) O;
2.Utilisez les collections.Sort (objet O, comparateur C)
classe publique JiamEnUCapParator implémente le comparateur {public int compare (objet o1, objet o2) {if (null! = o1 && null! = o2) {jiamenu menu1 = (jiamenu) o1; ) <menu2.getId () {return 1;} else {return 0;
3. Trier plusieurs attributs dans l'élément de liste (en utilisant Commons Beanutils)
La bibliothèque de classe Commons Beanutils a une classe BeanComparator qui peut être utilisée pour trier les javabeans. Mais cette classe ne peut trier qu'un seul attribut à la fois. Voici un exemple d'utilisation de BeanComparator pour trier plusieurs propriétés de javabeans, ce qui est très simple:
import org.apache.commons.beanutils.beancomparator; import java.util.collections; import java.util.comparator; import java.util.list; "non contrôlé"}) Liste des classes publiques {/ ** * Les attributs multiples de l'élément de liste sont triés. Par exemple, listSorter.sort (liste, "nom", "âge"), premier type d'attribut de nom *, et les éléments avec le même nom sont triés par l'attribut d'âge. * * @Param List contient la liste des éléments à régler * @param Propriétés Propriétés à tri. Les valeurs précédentes ont une priorité élevée. * / public static <v> void tri (liste <v> liste, chaîne finale ... Propriétés) {collections.sort (liste, nouveau comparateur <v> () {public int compare (v o1, v o2) {if (o1 == null && o2 == null) Retour 0; Propriété); Int Résultat = C........... ce