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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵茹艳 中级黑马   /  2012-5-14 11:02  /  2116 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 赵茹艳 于 2012-5-15 15:48 编辑

对于对一批对象排序又要保留重复,现在又两种方法可以实现,
一种是使用TreeSet传入一个比较器,比较器中定义当比较值为零的时候返回1就可以把重复的也存入。
存入之后就可以达到即排序又保留重复的要求。
另一种方法是使用List存储对象,然后使用Collections.sort();方法排序,传入list和比较器,在比较器中指定比较值。
这两种方法各有什么优劣?
昨天听到一个工作很久的高手说不要用第一种,因为改变了比较规则,是一种不符合数据结构规矩的做法。不知道具体是怎么样的啊!

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

2 个回复

倒序浏览
另一种方法是使用set存储对象,然后使用Collections.sort();方法排序,传入list和比较器,在比较器中指定比较值。
應該是直接用list,然后使用Collections.sort();方法排序
當然是第二種,本來就寫好了的功能給你,你只要調用下就好了,幹嘛要自己寫。
回复 使用道具 举报
嗯,最后弄明白了,用TreeSet的话会可能违背排序的稳定性,应该用List来做。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马