Сначала вы можете взглянуть на этот статический метод Public Static <t> void sort (список <t>, компаратор <? Super t> c)
1. Сначала определите модель:
Кода -копия выглядит следующим образом:
модель пакета;
/**
* User.java
*
* @Author Liang WP 3 марта 2014 г.
*/
Пользователь открытого класса
{
частное имя пользователя;
Private Int Userage;
Общественный пользователь ()
{
}
Общественный пользователь (String UserName, int Userage)
{
this.username = имя пользователя;
this.userage = userage;
}
public String getUsername ()
{
вернуть имя пользователя;
}
public void setusername (String username)
{
this.username = имя пользователя;
}
public int getUserage ()
{
вернуть пользовательский обмен;
}
public void setUserage (int userage)
{
this.userage = userage;
}
}
2. Затем определите компаратор, реализуйте интерфейс java.util.comparator и правила сравнения записи в методе compare ():
Кода -копия выглядит следующим образом:
Утилит пакета;
Импорт java.util.comparator;
Импорт модели. User;
/**
* ComporatorUser.java
*
* @Author Liang WP 3 марта 2014 г.
*/
Общедоступный класс ComparatorUser реализует компаратор <пользователь>
{
@Override
public int compare (пользователь arg0, user arg1)
{
// Сравните имена в первую очередь
int flag = arg0.getusername (). Compareto (arg1.getUsername ());
// Если имя такое же, оно будет сравнивать с возрастом
if (flag == 0)
{
return arg0.getUserage () - arg1.getUserage ();
}
вернуть флаг;
}
}
3. При сортировке используйте метод сортировки (список списков, компаратор C) в java.util.collections:
Кода -копия выглядит следующим образом:
Пакет -тест;
импортировать java.util.arraylist;
импортировать java.util.collections;
импортировать java.util.list;
Импорт util.comparatoruser;
Импорт модели. User;
/**
* Testapp.java
*
* @author Liang Weiping 3 марта 2014 г.
*/
открытый класс TestApp
{
Public Static Void Main (String [] arg0)
{
Список <user> userList = new ArrayList <user> ();
// вставить данные
userlist.add (новый пользователь ("A", 15));
userlist.add (новый пользователь ("B", 14));
userlist.add (новый пользователь ("A", 14));
// Сорт
Collections.sort (userlist, new Comparatoruser ());
// распечатать результат
для (пользователь u: пользовательский список)
{
System.out.println (u.getusername () + "" + u.getUserage ());
}
}
}
4. Результаты работы:
Кода -копия выглядит следующим образом:
14
15
B 14