//1.使用Collections.sort 默认正序
List<Integer> objects = new ArrayList<>();
objects.add(2);
objects.add(1);
objects.add(5);
Map<Object, Object> objectObjectHashMap = new HashMap<>();
Collections.sort(objects);
for (Integer a:objects) {
System.out.println(a);
}
/*
//2.实现Comparator接口自定义比较器
List<User> users = new ArrayList<>();
User u1 = new User();
u1.setAge(30);
u1.setName("tony");
User u2 = new User();
u2.setName("porter");
User u3 = new User();
u3.setName("porter");
u3.setAge(23);
users.add(u1);
users.add(u2);
users.add(u3);
UserComparator userComparator = new UserComparator();
users.sort(userComparator);
Collections.sort(users,userComparator);
for (User user:users) {
System.out.printf("name:%s,age:%s",user.getName(),user.getAge());
System.out.println();
}*/
//3.自定义bean(User2)实现 Comparable 接口
List<User2> users = new ArrayList<>();
User2 u1 = new User2();
u1.setAge(35);
u1.setName("tony");
User2 u2 = new User2();
u2.setName("porter");
u2.setAge(4);
User2 u3 = new User2();
u3.setName("porter");
u3.setAge(23);
users.add(u1);
users.add(u2);
users.add(u3);
Collections.sort(users);
for (User2 user:users) {
System.out.printf("name:%s,age:%s",user.getName(),user.getAge());
System.out.println();
}
User:
public class User{ private int age; private String 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; } }
User2:
public class User2 implements Comparable<User2>{ private int age; private String 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(User2 u2) { if (u2.getAge()>this.getAge()){ return 1; } else if (this.getAge()==u2.getAge()){ return 0; } else { return -1; } } }