1.实现Comparable接口(如果List<Object>中Object实现了Comparator接口,便可以直接用以下Collections.sort的方式对List进行排序)

public class Test {

 public static void main(String[] args) {
  List<User> userList = new ArrayList<User>();
  userList.add(new User(3, "3"));
  userList.add(new User(2, "2"));
  userList.add(new User(5, "5"));
  userList.add(new User(7, "7"));
  Collections.sort(userList);
  for (User user : userList) {
   System.out.println(user.getAge());
  }
 }
}

class User implements Comparable<User> {
 private int age;
 private String name;

 public User(int age, String name) {
  super();
  this.age = age;
  this.name = name;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 @Override
 public int compareTo(User user) {

  return age - user.getAge();
 }
}

2.实现Comparator接口

public class Test {

 public static void main(String[] args) {
  List<User> userList = new ArrayList<User>();
  userList.add(new User(3, "3"));
  userList.add(new User(2, "2"));
  userList.add(new User(5, "5"));
  userList.add(new User(7, "7"));
  Collections.sort(userList,new CompareUser());
  for (User user : userList) {
   System.out.println(user.getAge());
  }
 }
}

class CompareUser implements Comparator<Object>{

 @Override
 public int compare(Object arg0, Object arg1) {
  User user1=(User)arg0;
  User user2=(User)arg1;
  return user1.getName().toLowerCase().compareTo(user2.getName().toLowerCase());
 }
 
}

class User   {
 private int age;
 private String name;

 public User(int age, String name) {
  super();
  this.age = age;
  this.name = name;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

}