сортировка массива по части массива - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть массив объектов, подобный этому

Football[] FootballTeam = new Football[4];
 FootballTeam[i] = new Football(ranked, names, played, w, d, l, GF, GA, GD,points);
 FootballTeam[0] = 0  Real Madrid 3   2   0   1   7:6 1   5
 FootballTeam[1] = 1  Barcelona   3   0   0   3   4:9 -5  1
 FootballTeam[2] = 2  Valencia    3   1   0   2   7:7 0   5
 FootballTeam[3] = 3  Atletico Madrid 3   3   0   0   9:5 4   7

как мне отсортировать этот список по точкам и среднему значению (GD) или как мне распечатать в порядке, отсортированном по оценка и средняя? , Я могу удалить "рейтинг".

1 Ответ

3 голосов
/ 12 апреля 2020

Вы можете использовать метод Arrays.sort из класса java.util.Arrays, передав объект-компаратор. Компаратор должен сравнить атрибуты, по которым вы хотите отсортировать.

Предполагая, что в вашем классе Football есть методы, которые возвращают "очки" и "GD", это позволит отсортировать команды по точкам и команды, которые имеют одинаковое количество очков отсортировано по "GD".

Arrays.sort(FootballTeam, Comparator.comparing(Football::getPoint)
                                    .thenComparing(Football::getGD));
...