A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张振纲 中级黑马   /  2012-8-13 15:40  /  1150 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在老毕视频的21天最后一个练习中
老毕为了使存入TreeSet中的元素从大到小比较
使用了反转默认比较器
代码如下
        Comparator<Student> cmp = Collections.reverseOrder();
求问Collections到底属于什么,为什么可以这样反转?

评分

参与人数 1黑马币 +3 收起 理由
张_涛 + 3 赞一个!

查看全部评分

2 个回复

正序浏览
Collections完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。 其中的两个静态方法:1.reverseOrder()方法返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序(自然顺序是通过对象自身的 compareTo 方法强行排序的)。2.reverseOrder(Comparator<T> cmp)方法返回一个比较器,它强行逆转指定比较器的顺序。
这些可以查看API文档。

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
Collections中存在一个正序比较器,通过调用Collections的reverseOrder静态方法使正序比较器反转,存为一个比较器cmp(类型为Comparator)
调用cmp就等同于调用一个自定义比较器
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马