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()); } } }
|
|