List 中已经存放实体类对象数据,如何根据实体类中某个属性值进行排序以后,按顺序存入list中。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class SortTest{
@SuppressWarnings("unchecked")
public static void main(String args[] ){
@SuppressWarnings("unused")
ArrayList list=new ArrayList();
list.add(new SortUserBean("小张","南京","21"));
list.add(new SortUserBean("小孟","苏州","29"));
list.add(new SortUserBean("小谢","南京","23"));
list.add(new SortUserBean("小王","南通","12"));
list.add(new SortUserBean("小顾","南京","06"));
list.add(new SortUserBean("小陈","徐州","26"));
list.add(new SortUserBean("小管","北京","19"));
Collections.sort(list,new Comparator(){
public int compare(Object o1, Object o2) {
用sort out SortUserBean cb1 = (SortUserBean) o1;
SortUserBean cb2 = (SortUserBean) o2;
int code = 0;
code = Age()Age());
return code;
}
});
for(int i=0;i<list.size();i++){
SortUserBean user=((i);
System.out.Age());
System.out.Name());
System.out.Address());
}
}
}
输出结果:
06小顾南京
12小王南通
19小管北京
21小张南京
23小谢南京
26小陈徐州
29小孟苏州
Comparator是个接口,可以重写他的compare()和equals()这两个方法,也就是说比较的方法,如果是null的话,就是使用元素的自然顺序,如1,2,4,5,9,8,7,就是1,2,
4,5,7,8,9这样,字母也可以
compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数
equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true
发表评论