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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hysnxdss 中级黑马   /  2016-9-24 20:34  /  924 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

键盘录入学生成绩排序,然后通过性别排序,把性别是女的排序到前面,后打印

如果用Map集合
把学生作为键,成绩作为值,可不可以同时排序呢?



6 个回复

倒序浏览
是 女女女女男  还是 同分的女拍前面  如果是前者可以传入比较器  如果成绩相等 然后再返回一个(判断o1是不是女的,是的话给一个 -1 )
回复 使用道具 举报
回复 使用道具 举报
你用LinkedHashMap存,不就有序了吗。
回复 使用道具 举报
pdog 发表于 2016-9-25 00:45
是 女女女女男  还是 同分的女拍前面  如果是前者可以传入比较器  如果成绩相等 然后再返回一个(判断o1是 ...

同分的女的排在前面....有没有思路呢?
回复 使用道具 举报
hysnxdss 发表于 2016-9-25 21:45
同分的女的排在前面....有没有思路呢?

传入一个比较器 ,
获得两个Student类型的对象
然后定一个int 用来接受 集合.get(对象一) - 集合.get(对象二); 也就是成绩比较
然后定一个int 用来接收 对象一.compareTo(对象二)的值

然后return一个三元 第一个int为0的时候 返回第二个int 否则返回第一个
回复 使用道具 举报
可以使用treeMap,并传入一个比较器,比较器内重写,使用三元运算符确定先按成绩排序,再按性别排序
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马