Files
public-project/LeaderBord.java
T
2026-04-14 20:07:23 +03:30

46 lines
1.1 KiB
Java

import java.util.HashMap;
import java.util.Map;
import java.util.PriorityQueue;
class Leaderboard {
private Map<User, Integer> scores = new HashMap<>();
private PriorityQueue<User> displayList = new PriorityQueue<>(
(u1, u2) -> u2.getScore() - u1.getScore());
public void addUser(User a) {
scores.put(a, a.getScore());
}
static Leaderboard obj = new Leaderboard();
private Leaderboard() {
}
public static Leaderboard getObject() {
return obj;
}
public void updateScore(User user, int points) {
int p = user.getScore();
p += points;
user.setScore(p);
scores.put(user, p);
}
public void display() {
displayList.clear();
System.out.println();
System.out.println("Leaderboard");
System.out.println("--------------------------------");
for (User u : scores.keySet()) {
displayList.add(u);
}
while (!displayList.isEmpty()) {
User u = displayList.poll();
System.out.println(u.getUsername() + " --- " + scores.get(u));
}
}
}