实现Comparator 比较器

来源:互联网 发布:双喷网格布工艺优化 编辑:程序博客网 时间:2024/06/02 00:52
package com.css.dd;

public class Person  {
    public Person(int age) {
        super();
        this.age = age;
    }

    private int age;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

package com.css.dd;
import java.util.*;
public class TestPerson {
public static void main(String[] args) {
    Person p=new Person(10);
    Person p1=new Person(90);
    Person p2=new Person(60);
    Person p3=new Person(69);

/*list-------*/
    List<Person>  plist=new ArrayList<Person>();
    plist.add(p);
    plist.add(p1);
    plist.add(p2);
    plist.add(p3);
    Collections.sort(plist, new Comparator<Person>() {
        @Override
        public int compare(Person o1, Person o2) {
            // TODO Auto-generated method stub
            return o1.getAge()-o2.getAge();
        }
    });

    for(int i=0;i<plist.size();i++){
        
        System.out.println(plist.get(i).getAge());
    }


/*set ----------*/
 /*
    Set  set=new TreeSet(new Comparator<Person>() {
        @Override
        public int compare(Person o1, Person o2) {
            // TODO Auto-generated method stub
            int result=0;
          if(o1.getAge()>o2.getAge()){
            return 1;
          }else if(o1.getAge()<o2.getAge()){
            return -1;
              
          }
          return result;
             
        }
    });
    set.add(p);
    set.add(p1);
    set.add(p2);
    set.add(p3);
    Iterator<Person> it=set.iterator();
    while(it.hasNext()){
        
        System.out.println(it.next().getAge());
    }
      System.out.println();*/
}
}


原创粉丝点击