Хорошо, поэтому вы получаете объект EventRankings
, когда используете EventRankings getRankings(String eventKey)
, и вам нужен объект с номерами команд и рангом.
В зависимости от изображения, которым вы поделились:
EventRankings
- имеет коллекцию
Ranking
Ranking
имеет int
Rank
Ranking
также имеет строку team_key
(что я собираюсь угадать, это «номер команды»
Вы можете сделать это несколькими способами:
1
Допустим, вы хотите это как-то тип карты Map<TeamNumber, Rank>
EventRankings eventRankings = getRankings("eventKey");
Map<String, Int> teamsRanked = new HashMap<>();
for(Ranking ranking : eventsRankings.rankings) {
teamsRanked.put(ranking.teamKey, ranking.rank);
}
Вы можете проверить то, что у вас есть, напечатав его:
for (Map.Entry<String, Int> entry : teamsRanked.entrySet()) {
Log.d("TUT", entry.getKey() + ":" + entry.getValue());
}
Распечатать ранг команды:
Log.d("TUT", "frc1323 is ranked: " + teamsRanked.get("frc1323"));
2
Если вы знаете, что рейтинги уникальны, вы также можете иметь свою карту наоборот:
Map<String, Int> rankedTeams = new HashMap<>();
for(Ranking ranking : eventsRankings.rankings) {
rankedTeams.put(ranking.rank, ranking.teamKey);
}
И тогда вы можете получить команду на основе ранга, то есть выведите верхнюю 3:
Log.d("TUT", "Ranked #1 is: " + rankedTeams.get(1));
Log.d("TUT", "Ranked #2 is: " + rankedTeams.get(2));
Log.d("TUT", "Ranked #3 is: " + rankedTeams.get(3));
3
Или, наконец, если вы не хотите легко искать по рангу или имени, вы можете получить список новых объектов, возможно List<Result>
.
class Result {
private final String teamName;
private final int rank;
public Result(String teamName, int rank) {
this.teamName = teamName;
this.rank = rank;
}
public String getTeamName() {
return teamName;
}
public int getRank() {
return rank;
}
}
List<Result> results = new HashMap<>();
for(Ranking ranking : eventsRankings.rankings) {
results.add(new Result(ranking.teamKey, ranking.rank));
}
и распечатайте каждый результат:
for(Result result : results) {
Log.d("TUT", result.getTeamName() + " : " + result.getRank());
}
Взято из: