Попытка отсортировать ArrayList значения - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь отсортировать ArrayList в моей программе, которая имеет функцию хранения различных команд по регби, и в результате получается ArrayList и распечатывается в виде таблицы.Мне удалось сделать все, кроме сортировки.Это мой код.

package javaCode.RugbyCompetitionTable;
import java.util.Collections;

public class Team{
    private String teamName;
    private int won;
    private int drew;
    private int lost;
    private int scored;
    private int conceded;
    private int scoreDifference;
    private int triesScored;
    private int triesAgainst;

    public Team(String teamName) {
        this.teamName = teamName;
    }

    public String getTeamName() {
        return teamName;
    }

    public int getWon() {
        return won;
    }

    public int getDrew() {
        return drew;
    }

    public int getLost() {
        return lost;
    }

    public int getScored() {
        return scored;
    }

    public int getConceded() {
        return conceded;
    }

    public void setTeamName(String teamName) {
        this.teamName = teamName;
    }

    public int getScoreDifference() {
        return scoreDifference;
    }

1 Ответ

3 голосов
/ 22 марта 2019

Вы сортируете, основываясь на том, какие команды бьют друг друга. Предположительно, вы хотите отсортировать по количеству баллов:

@Override
public int compareTo (Team team) {
    if (team.getScoreDifference() > this.getScoreDifference()) {
        return 1;
    }
    else if (team.getScoreDifference() < this.getScoreDifference()) {
        return -1;
    }
    else {
        return 0;
    }
}

Пример вывода:

Leeds Rhinos  2  0  0  12   5   7
Sheffield     1  0  0  15  13   2
London        0  1  0  13  13   0
Burnley       0  1  0  10  10   0
Doncaster     0  0  1  12  20  -8
Southampton   0  0  1  10  20 -10

Вы можете переписать compareTo гораздо проще:

@Override
public int compareTo(Team team) {
    return Integer.compare(team.getScoreDifference(), this.getScoreDifference());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...