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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 敲敲乐z 中级黑马   /  2016-8-12 21:24  /  378 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

TreeSet的构造函数,可以传一个参数,这个参数是Comparator的匿名子对象,但是这个匿名子对象里面要重写一个比较方法,方法里面的参数代表什么意思?这一点不是很懂!

3 个回复

倒序浏览
兄弟,我也不懂啊,楼下有大神嘛
回复 使用道具 举报
方法里面的参数代表要存储进集合的元素
回复 使用道具 举报
里面的参数是你集合中传入的参数,Comparator是按比较器顺序排序,也就是说是你自己去定义比较的方法,你可以实现TreeSet的自然顺序无法达成的排序方式,比如说可以实现降序,或者是当两个相等的时候,返回值不为0,将返回值设置成1或者-1,因为返回值为0的时候将不会往集合中添加该元素,而将返回值设置为1或者-1的时候,仍会往集合中添加元素,因为TreeSet底层是二叉树结构,-1代表放左边,1代表放右边,这样就可以实现TreeSet中也不去掉重复的元素
再比方说传入的一个学生对象,里面有姓名,年龄,成绩等属性,通过比较器,你可以实现类似于咱们在使用Excel的时候那种排序功能,比如你想要将成绩作为主要的排序关键字,再将姓名作为第二关键字排序 比如这样= = 感觉这样讲我会把你绕晕...

评分

参与人数 1黑马币 +3 收起 理由
r1503882525 + 3 回答认真,么么哒

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马