分享

java.util.ArrayList对象排序示例

 Blex 2011-03-22
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;

public class SortTwo implements Comparator {
//排序字段
private String sort1;
//排序方式
private int state;
public SortTwo(int state){
this.state=state;
}
public SortTwo(){
}
public int SortUp(Object o1,Object o2){
Student stu=(Student) o1;
Student stu1=(Student) o2;
if(sort1.equals("name")){
if(stu.getName().compareTo(stu1.getName())>1){
return 1;
} else if(stu.getName().compareTo(stu1.getName())<1){
return -1;
}else{
return 0;
}
}
if(sort1.equals("age")){
if(stu.getAge().compareTo(stu1.getAge())>1){
return 1;
} else if(stu.getAge().compareTo(stu1.getAge())<1){
return -1;
}else{
return 0;
}
}
return 0;
}
public int SortDOWN(Object o1,Object o2){
Student stu=(Student) o1;
Student stu1=(Student) o2;
if(sort1.equals("name")){
if(stu.getName().compareTo(stu1.getName())>1){
return -1;
} else if(stu.getName().compareTo(stu1.getName())<1){
return 1;
}else{
return 0;
}
}
if(sort1.equals("age")){
if(stu.getAge().compareTo(stu1.getAge())>1){
return -1;
} else if(stu.getAge().compareTo(stu1.getAge())<1){
return 1;
}else{
return 0;
}
}
return 0;
}
public int compare(Object o1, Object o2) {
if(this.state==1){
return SortUp(o1, o2);
}else{
return SortDOWN(o1, o2);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student();
stu.setName("123");
stu.setAge("12");
Student stu1=new Student();
stu1.setName("234");
stu1.setAge("23");
ArrayList<Student>list=new ArrayList<Student>();
list.add(stu);
list.add(stu1);
SortTwo t=new SortTwo(1);
t.sort1="age";
Collections.sort(list,t);
for(Student st : list){
System.out.println(st.getName() +"   "+st.getAge());
}
}
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多