X Tutup
package main; import java.util.ArrayList; import java.util.List; public class ChampionshipManager { private static ChampionshipManager instance; private List drivers; private List races; private static int totalDrivers = 0; private static int totalRaces = 0; private ChampionshipManager() { drivers = new ArrayList<>(); races = new ArrayList<>(); } public static ChampionshipManager getInstance() { if (instance == null) { instance = new ChampionshipManager(); } return instance; } public void registerDriver(Driver driver) { drivers.add(driver); totalDrivers++; } public void addRaceResult(RallyRaceResult result) { races.add(result); totalRaces++; } public List getDriverStandings() { drivers.sort((d1, d2) -> d2.getPoints() - d1.getPoints()); return drivers; } public static Driver getLeadingDriver() { if (instance == null || instance.drivers.isEmpty()) { return null; } return instance.getDriverStandings().get(0); } public static int getTotalChampionshipPoints() { if (instance == null) { return 0; } return instance.drivers.stream().mapToInt(Driver::getPoints).sum(); } public static int getTotalDrivers() { return totalDrivers; } public static int getTotalRaces() { return totalRaces; } public List getRaces() { return races; } }
X Tutup