Java 7之集合类型第6篇 - Set集合的实现(三)

2014-11-24 02:45:34 · 作者: · 浏览: 10
eSet treeSet2 = new TreeSet (treeSet1);//通过构造函数初始化集合 Iterator it1 = treeSet2.iterator(); while(it1.hasNext()){ Person p = it1.next(); System.out.println(p.getId_card()+" "+p.getName()); } System.out.println("客户化排序后,按编号降序排序:"); //新创建一个Set集合,进行客户化排序,客户化排序方式为按编号降序排序 Person.PersonComparator pc = new Person.PersonComparator();//创建比较器(内部类)的实例 pc.orderByColumn(Person.PersonComparator.ID_CARD);//设置排序依据的属性 pc.orderByMode(Person.PersonComparator.DESC);//设置排序方式 TreeSet treeSet3 = new TreeSet (pc);//必须通过构造函数设置比较器 treeSet3.addAll(treeSet1);//初始化集合 Iterator it2 = treeSet3.iterator(); while(it2.hasNext()){ Person p = it2.next(); System.out.println(p.getId_card()+" "+p.getName()); } } } 程序的运行结果如下:
客户化排序前,默认按编号升序排序:
22015 马先生
22016 李先生
22018 王小姐
客户化排序后,按编号降序排序:
22018 王小姐
22016 李先生
22015 马先生