常见数据类型List
直接把需要排序的list当做参数调用下列方法即可
Collections.sort(list);//升序排列
Collections.sort(list,Collections.reverseOrder());//降序排列
对象List
举例:
Student.java(一个简单的实体类)
public class Student {
private String id;
private String stu_code;
private String name;
public Student(String id,String name,String stu_code) {
// TODO Auto-generated constructor stub
this.id=id;
this.name=name;
this.stu_code=stu_code;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getStu_code() {
return stu_code;
}
public void setStu_code(String stu_code) {
this.stu_code = stu_code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
ComparatorStudent.java(可以把这个类理解为排序的辅助类)
public class ComparatorStudent implements Comparator {
public int compare(Object obj1, Object obj2) {
//需要什么样的实体类就把Student换成对应的即可
Student stu0 = (Student) obj1;
Student stu1 = (Student) obj2;
//这里只需要改一下按什么属性排序即可
int flag = stu0.getStu_code().compareTo(stu1.getStu_code());
return flag;
}
}
Main方法:
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Student> stus=new ArrayList<Student>();
stus.add(new Student("1", "zwq1", "20160001"));
stus.add(new Student("3", "zwq3", "20160003"));
stus.add(new Student("2", "zwq2", "20160002"));
ComparatorStudent comparatorStudent=new ComparatorStudent();
Collections.sort(stus,comparatorStudent);
for(Student student:stus){
System.out.println(student.getName());
}
}