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