See More

// https://www.hackerrank.com/challenges/java-comparator/problem import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class JavaComparator { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); Player[] player = new Player[n]; Checker checker = new Checker(); for(int i = 0; i < n; i++){ player[i] = new Player(scan.next(), scan.nextInt()); } scan.close(); Arrays.sort(player, checker); for(int i = 0; i < player.length; i++){ System.out.printf("%s %s\n", player[i].name, player[i].score); } } private static class Checker implements Comparator { @Override public int compare(Player first, Player second) { return first.score == second.score ? first.name.compareTo(second.name) : Integer.compare(second.score, first.score); } } private static class Player{ String name; int score; Player(String name, int score){ this.name = name; this.score = score; } } }