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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘源 中级黑马   /  2012-8-25 11:25  /  1255 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘源 于 2012-8-25 14:39 编辑

“问题已经解决”
TreeSet集合里面如果同时放入父类和子类的实例对象,那到底用谁的compareTo方法进行比较?
这个问题我在网上已经搞懂了,这个要看具体情况而定。

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

1 个回复

倒序浏览
TreeSet集合要实现比较有两种方法,一个是让元素自身具备比较性,一个是创建集合的时候加入Comparator比较器,比较器实现了compare方法。如果这两种方法同时出现,则用比较器进行对比。
如果集合创建时没有传入比较器,而对于加入自身有不同的比较方法的元素,在增加元素时,集合调用的是add方法,这时add方法中只有传入的元素,因此会调用要传入的元素中的比较方法,用新加入的元素的比较方法去与集合中已有的元素进行比较。

评分

参与人数 1技术分 +1 收起 理由
田建 + 1

查看全部评分

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