Java HashSet 比较器

来源:互联网 发布:mac如何更新flash 编辑:程序博客网 时间:2024/06/02 03:38
package TreeSet;import java.util.Comparator;import p.bean.Person;/* * 创建了一个根据Person类的name进行排序的比较器 *  */public class CompartorByName implements Comparator {@Overridepublic int compare(Object o1, Object o2) {Person p1=(Person) o1;Person p2=(Person) o2;int temp=p1.getName().compareTo(p2.getName());// return  1 ; 怎么存怎么取 有序return temp==0?p1.getAge()-p2.getAge():temp; }}

package TreeSet;import java.util.Iterator;import java.util.TreeSet;import p.bean.Person;import sun.reflect.generics.tree.Tree;public class TreeSetDemo {public static void main(String[] args) {//demo1();TreeSet ts=new TreeSet(new CompartorByName());//比较器/* * 以Person对象的年龄进行从小到大的排序。  *  */ts.add(new Person("zhangsan",28));ts.add(new Person("lisi",23));ts.add(new Person("zhouqi",21));ts.add(new Person("wangwu",21));ts.add(new Person("zhaoliu",24));Iterator it=ts.iterator();while(it.hasNext()) {Person p=(Person) it.next();System.out.println(p.getName()+p.getAge());}}public static void demo1() {TreeSet ts=new TreeSet();ts.add("abc");ts.add("aa");ts.add("nba");ts.add("cba");Iterator it=ts.iterator();while(it.hasNext()) {System.out.println(it.next());}}}


原创粉丝点击