Primero puede echar un vistazo a este método estático público estático <t> void sort (List <T> List, Comparator <? Super t> c)
1. Defina un modelo primero:
La copia del código es la siguiente:
modelo de paquete;
/**
* User.java
*
* @Author Liang WP 3 de marzo de 2014
*/
Usuario de clase pública
{
nombre de usuario de cadena privada;
privado int userage;
Usuario público ()
{
}
Usuario público (Nombre de usuario de cadena, int userage)
{
this.Username = UserName;
this.userage = userage;
}
cadena pública getUsername ()
{
devolver el nombre de usuario;
}
Public void setUsername (nombre de usuario de cadena)
{
this.Username = UserName;
}
Public int getUserage ()
{
devolver el usuario;
}
Public void setUserage (int userage)
{
this.userage = userage;
}
}
2. Luego defina un comparador, implementa la interfaz java.util.comparator y escribe reglas de comparación en el método compare ():
La copia del código es la siguiente:
paquete utilizado;
importar java.util.comparator;
importar modelo.user;
/**
* ComparatorUser.java
*
* @Author Liang WP 3 de marzo de 2014
*/
Comparador de la clase pública Implementa Comparador <Serement>
{
@Anular
Public int Compare (Usuario Arg0, usuario Arg1)
{
// Compare los nombres primero
int flag = arg0.getUsername (). Compareto (arg1.getusername ());
// Si el nombre es el mismo, se comparará con la edad
if (flag == 0)
{
return arg0.getUserage () - arg1.getuserage ();
}
Bandera de regreso;
}
}
3. Al clasificar, use el método Sort (List List, Comparator C) en java.util.collections:
La copia del código es la siguiente:
prueba de paquete;
import java.util.arrayList;
import java.util.collections;
import java.util.list;
import util.
importar modelo.user;
/**
* TestApp.java
*
* @author liang weiping 3 de marzo de 2014
*/
TestApp de clase pública
{
Public static void main (cadena [] arg0)
{
List <Serem> UserList = New ArrayList <Seremower> ();
// Insertar datos
UserList.Add (nuevo usuario ("A", 15));
UserList.Add (nuevo usuario ("B", 14));
UserList.Add (nuevo usuario ("A", 14));
// Clasificar
Colección.sort (UserList, New ComparatorUser ());
// imprime el resultado
para (User U: UserList)
{
System.out.println (U.GetUsername () + "" + U.GetUserage ());
}
}
}
4. Resultados de la operación:
La copia del código es la siguiente:
Un 14
A 15
B 14