将数组按照一定的规则排序最简单的方法就是借助Arrays类的sort方法,那么要实现List集合排序的排序最简单的方式又是什么呢?当然是借助Collections类的sort方法,下面以一个例子来说明如何使用该方法实现List集合的排序:
代码一:
package com.ghj.packageofvo;
public class User {
private String name; //姓名
private String birthday;//出生日期
public User(String name, String birthday) {
this.name = name;
this.birthday = birthday;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
代码二:
package com.ghj.packageofclient;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import com.ghj.packageofvo.User;
public class Client{
public static void main(String[] args) {
List<User> userList = new ArrayList<User>();
userList.add(new User("王琦", "2014-03-28 10:00:24"));
userList.add(new User("刘明", "2014-06-20 09:10:55"));
userList.add(new User("张国龙", "2014-06-12 09:05:40"));
userList.add(new User("刘青", "2014-05-23 13:37:02"));
userList.add(new User("费楠", "2014-04-22 09:41:46"));
userList.add(new User("王国栋", "2014-05-19 15:35:31"));
Collections.sort(userList, new Comparator<User>(){
@Override
public int compare(User a, User b) {//将List依照出生日期倒序排序
return b.getBirthday().compareTo(a.getBirthday());
}
});
for (User user:userList) {
System.err.println("姓名:" + user.getName() + ",出生日期:" + user.getBirthday());
}
}
}
运行结果: