我只想让SQL数据库进行排序,因为这是它可以做得很好的一件事。
此外,您不能使用
TreeMap<String, Integer>
因为这将通过团队名称而不是目标进行迭代。你不能使用
TreeMap<Integer, String>
或者是因为它不允许重复,所以你不能让两支球队拥有相同的进球。相反,我会使用一个列表。类似于以下内容(但请记住适当关闭您的资源,为了清楚起见,我省略了这些资源)。
class TeamScore {
private final String name;
private final int numGoals;
public TeamScore(String name, int numGoals) {
this.name = name;
this.numGoals = numGoals;
}
// getters...
}
public List<TeamScore> viewTeams() throws SQLException {
List<TeamScore> teamData = new ArrayList<>();
String viewTeams = "SELECT * FROM HUI.TEAM ORDER BY GOALSSCORED DESC";
connectToDatabase(dbName);
stmt = dbConnection.createStatement();
rs = stmt.executeQuery(viewTeams);
while (rs.next()) {
teamData.add(new TeamScore(rs.getString("TEAMNAME"), rs.getInt("GOALSSCORED"));
}
return teamData;
}