题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
import java.util.Scanner; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[]args) { Scanner input = new Scanner(System.in); ArrayList<Student>list = new ArrayList<Student>(); int n = input.nextInt(); int direction = input.nextInt(); for (int i = 0; i < n; i++) { String a=input.next(); int score=input.nextInt(); list.add(new Student(a,score )); } if (direction == 0) { list = Usort(list); } else { list = Dsort(list); } for (Student student : list) { System.out.println(student.name+" "+student.score); } } public static ArrayList<Student> Usort(ArrayList<Student> list) { Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { if (o1.score > o2.score) { return -1; } else if (o1.score < o2.score) { return 1; } else { return 0; } } }); return list; } public static ArrayList<Student> Dsort(ArrayList<Student> list) { Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { if (o1.score < o2.score) { return -1; } else if (o1.score > o2.score) { return 1; } else { return 0; } } }); return list; } public static class Student { private String name; private int score; @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", score=" + score + '}'; } public Student(String name, int score) { this.name = name; this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } } }