对一个普通 List<Integer> 类型的集合,可以直接使用 Collections.sort(list) 来排序。
Collections.sort() 默认 是升序,如果需要降序,可以倒着遍历list。
如果对 一个 javaBean 中的某一个属性进行排序 方法如下:
package demo;
public class personal {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public personal(String name, int age) {
super();
this.name = name;
this.age = age;
}
public personal(){};
}
package demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* 根据 javabean 中的 age属性 来排序
* TODO
*/
public class test4 {
public static void main(String[] args){
personal p = new personal("张三",23);
personal p1 = new personal("李四",35);
personal p2 = new personal("王五",15);
personal p3 = new personal("赵六",12);
List<personal> list = new ArrayList();
list.add(p);
list.add(p1);
list.add(p2);
list.add(p3);
Collections.sort(list, new Comparator<personal>(){
/*
* int compare(Personal o1, Personal o2) 返回一个基本类型的整型,
* 返回负数表示:o1 大于o2,
* 返回0 表示:o1和o2相等,
* 返回正数表示:o1小于o2
*/
@Override
public int compare(personal o1, personal o2) {
if(o1.getAge()<o2.getAge()){
return 1;
}
if(o1.getAge()==o2.getAge()){
return 0;
}
return -1;
}
});
for(personal pe:list){
System.out.println(pe.getAge());
}
}
}