黑马程序员技术交流社区

标题: TreeSet集合存储自定义对象,按照年龄从小到大排序 [打印本页]

作者: 孙广浩    时间: 2015-11-13 12:43
标题: TreeSet集合存储自定义对象,按照年龄从小到大排序
  1. public static void main(String[] args) {
  2.                 // 用TreeSet集合储存自定义对象,实现按照年龄从小到大排序,使用TreeSet的带参构造(比较器接口的方式实现)\
  3.                 TreeSet<Person>ts = new TreeSet<>(new Comparator<Person>() {

  4.                         @Override
  5.                         public int compare(Person p1, Person p2) {
  6.                                 int num = p1.getAge()-p2.getAge();
  7.                                 return num == 0? p1.getName().compareTo(p2.getName()) : num;
  8.                         }
  9.                 });
  10.                 Person p1 = new Person ("周立波",20);
  11.                 Person p2 = new Person ("李咏",23);
  12.                 Person p3 = new Person ("包租公",30);
  13.                 Person p4 = new Person ("包租婆",50);
  14.                 ts.add(p1);
  15.                 ts.add(p2);
  16.                 ts.add(p3);
  17.                 ts.add(p4);
  18.                 for (Person p : ts) {
  19.                         System.out.println(p.getName() + "..." + p.getAge());
  20.                 }
  21.         }
复制代码

作者: 孙志明    时间: 2015-11-13 13:01
学到了
作者: WosLovesLife    时间: 2015-11-13 14:54
用过内部类实现compare方法比较成员年龄,如果年龄相同比较姓名。返回比较后的结果,大于0升序,小于0降序。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2