黑马程序员技术交流社区

标题: 如何把Set集合的数据进行强行逆转排序 [打印本页]

作者: 林国锋    时间: 2011-10-6 23:47
标题: 如何把Set集合的数据进行强行逆转排序
有一个Set集合,现在是按年龄从小到大排序,现在想按年龄从大到小排序,请问用强行逆转排序怎么实现?
Set<Student> stus = new TreeSet<Student>();
suts.add(new Student("张三",18))
suts.add(new Student("大七",22))
suts.add(new Student("周六",24))
suts.add(new Student("小四",28))
suts.add(new Student("王五",35))
作者: 张校云    时间: 2011-10-6 23:58
本帖最后由 张校云 于 2011-10-7 00:01 编辑

原来是TreeSet,看错了 ,以为是List呢
作者: 王家虎    时间: 2011-10-7 00:22
可以使用集合的扩展类Collections的reerseOrder方法,此方法的定义如下:
static <T> Comparator<T> reverseOrder(Comparator<T> cmp)
         此方法 返回一个比较器,它强行逆转指定比较器的顺序。
你上面的代码可以写成如下形式:
Set<Student> stus = new TreeSet<Student>();
suts.add(Collections.reverseOrder(new Student("张三",18)));
suts.add(Collections.reverseOrder(new Student("大七",22)));
suts.add(Collections.reverseOrder(new Student("周六",24)));
suts.add(Collections.reverseOrder(new Student("小四",28)));
suts.add(Collections.reverseOrder(new Student("王五",35)) );





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