Você pode primeiro dar uma olhada neste método estático public static <t> void stat (list <t> list, comparador <? Super t> c)
1. Defina um modelo primeiro:
A cópia do código é a seguinte:
modelo de pacote;
/**
* User.java
*
* @Author Liang WP 3 de março de 2014
*/
usuário de classe pública
{
Nome de usuário privado de string;
Usuário privado INT;
usuário público ()
{
}
Usuário público (Nome de usuário da String, Int Useragem)
{
this.UserName = Nome de usuário;
this.UserAge = Useragem;
}
public string getusername ()
{
retornar nome de usuário;
}
Public Void SetUserName (Nome de usuário da String)
{
this.UserName = Nome de usuário;
}
public int getUserrage ()
{
retornar usuário;
}
Public Void SetUsERAGE (Int Useragem)
{
this.UserAge = Useragem;
}
}
2. Em seguida, defina um comparador, implemente a interface java.util.comparator e escreva regras de comparação no método compare ():
A cópia do código é a seguinte:
pacote utiliza;
importar java.util.comparator;
importação modelo.User;
/**
* ComparatorUser.java
*
* @Author Liang WP 3 de março de 2014
*/
Public Class ComparatorUser Implementos Comparador <suário>
{
@Override
Public Int Compare (usuário arg0, usuário arg1)
{
// Compare os nomes primeiro
int flag = arg0.getUserName (). compareto (arg1.getUserName ());
// Se o nome for o mesmo, será comparado com a idade
if (sinalizador == 0)
{
return arg0.getUSerAge () - arg1.getUserAge ();
}
bandeira de retorno;
}
}
3. Ao classificar, use o método de classificação (lista, comparador c) em java.util.Collections:
A cópia do código é a seguinte:
teste de pacote;
importar java.util.arraylist;
importar java.util.Collections;
importar java.util.list;
importar util.comparatorUser;
importação modelo.User;
/**
* TestApp.java
*
* @Author Liang Wiiping 3 de março de 2014
*/
Public Class TestApp
{
public static void main (string [] arg0)
{
List <usery> userList = new ArrayList <suser> ();
// Insira dados
userlist.add (novo usuário ("A", 15));
userlist.add (novo usuário ("b", 14));
userlist.add (novo usuário ("A", 14));
// Organizar
Coleções.sort (UserList, new ComparatorUser ());
// imprima o resultado
para (Usuário U: UserList)
{
System.out.println (u.getUserName () + "" + u.getUSerAge ());
}
}
}
4. Resultados da operação:
A cópia do código é a seguinte:
A 14
A 15
B 14