-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsorting-comparator.java
More file actions
49 lines (37 loc) · 1.52 KB
/
sorting-comparator.java
File metadata and controls
49 lines (37 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
Comparators are used to compare two objects. In this challenge, you'll create a comparator and use it to sort an array. The Player class is provided in the editor below; it has two fields:
A string, .
An integer, .
Given an array of Player objects, write a comparator that sorts them in order of decreasing score; if or more players have the same score, sort those players alphabetically by name. To do this, you must create a Checker class that implements the Comparator interface, then write an int compare(Player a, Player b) method implementing the Comparator.compare(T o1, T o2) method.
Input Format
Locked stub code in the Solution class handles the following input from stdin:
The first line contains an integer, , denoting the number of players.
Each of the subsequent lines contains a player's respective and .
Constraints
Two or more players can have the same name.
Player names consist of lowercase English alphabetic letters.
Output Format
You are not responsible for printing any output to stdout. Locked stub code in Solution will create a Checker object, use it to sort the Player array, and print each sorted element.
Sample Input
5
amy 100
david 100
heraldo 50
aakansha 75
aleksa 150
Sample Output
aleksa 150
amy 100
david 100
aakansha 75
heraldo 50
*/
// Write your Checker class here
class Checker implements Comparator<Player>{
public int compare(Player a, Player b) {
if (a.score == b.score) {
return a.name.compareTo(b.name);
}
return b.score - a.score;
}
}