• + 0 comments
       public static class Student {
            String name;
            int marks;
    
            public Student(String name, int marks) {
                this.name = name;
                this.marks = marks;
            }
    
            @Override
            public String toString() {
                return ""+ name + " " + marks + "";
            }
        }
    
        public static class SortByName implements Comparator<Student> {
            @Override
            public int compare(Student o1, Student o2) {
                return o1.marks==o2.marks ? o1.name.compareTo(o2.name) : o2.marks-o1.marks;
            }
    
        }
    
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            ArrayList<Student> list = new ArrayList<Student>();
            int size = scanner.nextInt();
            for(int i=0; i<size; i++){
                list.add(new Student(scanner.next(), scanner.nextInt()));
            }
            scanner.close();
            list.sort(new SortByName());
            list.stream().forEach(System.out::println);
        }