?
class
?User?{
?String?name;
?String?age;
?
? public ?User(String?name,String?age){
?? this .name = name;
?? this .age = age;
?}
? public ?String?getAge()?{
?? return ?age;
?}
? public ? void ?setAge(String?age)?{
?? this .age? = ?age;
?}
? public ?String?getName()?{
?? return ?name;
?}
? public ? void ?setName(String?name)?{
?? this .name? = ?name;
?}?
}
?String?name;
?String?age;
?
? public ?User(String?name,String?age){
?? this .name = name;
?? this .age = age;
?}
? public ?String?getAge()?{
?? return ?age;
?}
? public ? void ?setAge(String?age)?{
?? this .age? = ?age;
?}
? public ?String?getName()?{
?? return ?name;
?}
? public ? void ?setName(String?name)?{
?? this .name? = ?name;
?}?
}
public class SortTest {?
public ? static ? void ?main(String[]?args){
??List?userlist = new ?ArrayList();
??userlist.add( new ?User( " dd " , " 4 " ));
??userlist.add( new ?User( " aa " , " 1 " ));
??userlist.add( new ?User( " ee " , " 5 " ));
??userlist.add( new ?User( " bb " , " 2 " ));??
??userlist.add( new ?User( " ff " , " 5 " ));
??userlist.add( new ?User( " cc " , " 3 " ));
??userlist.add( new ?User( " gg " , " 6 " ));
???
Collections.sort(userlist, new ?Comparator < User > (){
public ? int ?compare(User?arg0,?User?arg1)?{
??????????????????User?user0 = (User)arg0;
??????????????????User?user1 = (User)arg1;
?????????????????? // 首先比較年齡,如果年齡相同,則比較名字
?????????????????? int ?flag = user0.getAge().compareTo(user1.getAge());
?????????????????? if (flag == 0 ){
??????????????????? return ?user0.getName().compareTo(user1.getName());
??????????????????} else {
??????????????????? return ?flag;
??????????????????}??
?????????????????}
????????});
???
?? for ?( int ?i = 0 ;i < userlist.size();i ++ ){
???User?user_temp = (User)userlist.get(i);
??????System.out.println(user_temp.getAge() + " , " + user_temp.getName());?
??}
??
?}
}
? // 首先比較年齡,如果年齡相同,則比較名字
結果:
??? 1 ,?aa
??? 2 ,?bb
??? 3 ,?cc
??? 4 ,?dd
??? 5 ,?ee
??? 5 ,?ff
??? 6 ,?gg
public ? static ? void ?main(String[]?args){
??List?userlist = new ?ArrayList();
??userlist.add( new ?User( " dd " , " 4 " ));
??userlist.add( new ?User( " aa " , " 1 " ));
??userlist.add( new ?User( " ee " , " 5 " ));
??userlist.add( new ?User( " bb " , " 2 " ));??
??userlist.add( new ?User( " ff " , " 5 " ));
??userlist.add( new ?User( " cc " , " 3 " ));
??userlist.add( new ?User( " gg " , " 6 " ));
???
Collections.sort(userlist, new ?Comparator < User > (){
public ? int ?compare(User?arg0,?User?arg1)?{
??????????????????User?user0 = (User)arg0;
??????????????????User?user1 = (User)arg1;
?????????????????? // 首先比較年齡,如果年齡相同,則比較名字
?????????????????? int ?flag = user0.getAge().compareTo(user1.getAge());
?????????????????? if (flag == 0 ){
??????????????????? return ?user0.getName().compareTo(user1.getName());
??????????????????} else {
??????????????????? return ?flag;
??????????????????}??
?????????????????}
????????});
???
?? for ?( int ?i = 0 ;i < userlist.size();i ++ ){
???User?user_temp = (User)userlist.get(i);
??????System.out.println(user_temp.getAge() + " , " + user_temp.getName());?
??}
??
?}
}
? // 首先比較年齡,如果年齡相同,則比較名字
結果:
??? 1 ,?aa
??? 2 ,?bb
??? 3 ,?cc
??? 4 ,?dd
??? 5 ,?ee
??? 5 ,?ff
??? 6 ,?gg