一、Collections工具类:
sort():对集合中的内容进行排序
public static void main(String[] args) {
List<User> list=new ArrayList<>();
list.add(new User("admin",30));
list.add(new User("viky",23));
list.add(new User("jack",25));
System.out.println("********默认排序*******************");
Collections.sort(list);
for(User u:list) {
System.out.println(u);
}
}
//输出结果:
********默认排序*******************
viky[23]
jack[25]
admin[30]
reverse():对集合中的内容反转操作;
public static void main(String[] args) {
List<User> list=new ArrayList<>();
list.add(new User("admin",30));
list.add(new User("viky",23));
list.add(new User("jack",25));
Collections.reverse(list);
for(User u:list) {
System.out.println(u);
}
//输出结果:
jack[25]
viky[23]
admin[30]
二、Comparable接口:提供默认排序的接口;
public class User implements Comparable<User>{
private String name;
private int age;
public User() {
// TODO Auto-generated constructor stub
}
public User(String nanme, int age) {
super();
this.name = nanme;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String nanme) {
this.name = nanme;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(User o) {
return this.age-o.age;
}
public String toString() {
return name+"["+age+"]";
}
}
三、Comparator接口:比较器;
public class NameSort implements Comparator<User>{
public int compare(User o1, User o2) {
return o1.getName().compareTo(o2.getName());
}
}