题解 | #成绩排序#

成绩排序

https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b

  • 读入,每行数据,Scannner,nextLine
  • 存储,名字可能重复,Map不可用,K,V结构转为自定义的属性Student,name,score,自然可以使用数组
  • 排序,成绩相同,按照输入顺序输出,稳定算法,Arrays工具类,sort函数传入数组,传入Comparator,其中compare采用稳定形式的写法
    • 按照成绩进行排序,同时参考排序标记,进行正序或逆序排列
  • 输出,stream流

import java.util.*;

public class Main {
   private static class Student{
        private String name;
        private Integer score;

        public Student(String name, Integer score) {
            this.name = name;
            this.score = score;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Integer getScore() {
            return score;
        }

        public void setScore(Integer score) {
            this.score = score;
        }
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = Integer.valueOf(scanner.nextLine());
        String sortedFlag = scanner.nextLine();//0逆序1正序
        //名字有可能相同
        Student[] students = new Student[n];
        for (int i = 0; i < n; i++) {
            String[] ss = scanner.nextLine().split(" ");
            students[i] = new Student(ss[0],Integer.valueOf(ss[1]));
        }
       
        Arrays.sort(students, new Comparator<Student>() {
            @Override
            public int compare(Student m1, Student m2) {
                if (sortedFlag.equals("0")){
                    return m2.getScore() - m1.getScore();//1-2正序,2-1逆序
                }
                else{
                    return m1.getScore() - m2.getScore();//1-2正序,2-1逆序
                }
            }
        });
        Arrays.stream(students).forEach(student -> {
            System.out.println(student.getName() +" " +student.getScore());
        });

    }
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:23
点赞 评论 收藏
分享
07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务