Я пытаюсь создать программу, которая генерирует расписание футбольной лиги. Таким образом, это означает, что вторая половина графика такая же, как и первая половина, но отличаются только домашние игровые команды.
Например:
Round 1:
Team A - Team B
Team C - Team D
А потом, когда все играли друг против друга, противоположные матчи:
Team B - Team A
Team D - Team C
Я использую List<List<List<Team>>>
. Вы можете прочитать это как: Список с раундами с матчами с двумя командами. Итак:
List<Team>
- это список из двух команд, который является совпадением: Пример [Team A, Team B]
.
List<List<Team>>
- это список с совпадениями (итак, один ронд). Пример: [[Team A, Team B], [Team C, Team D]]
List<List<List<Team>>>
- список со всеми раундами. Вы знаете, как должен выглядеть пример.
У меня 12 команд, то есть 22 раунда. У меня есть первые 11 раундов в списке под названием first11Rounds
. Я хочу сохранить это в новом списке того же типа: first
:
List<List<List<Team>>> first = first11Rounds;
Для второй половины графика мне нужны те же раунды и матчи, но затем меняли дома и на выезде. Для этого я использую:
List<List<List<Team>>> first = first11Rounds;
for(List<List<Team>> round : first11Rounds){
for(List<Team> match : round){
Collections.reverse(match);
}
}
List<List<List<Team>>> second = first11Rounds;
Итак, first
- исходная переменная first11Rounds
, а second
- скорректированная переменная first11Rounds
. Однако ... Когда я печатаю first
и second
, они абсолютно одинаковы. Дома и в гостях не поменялись. Я действительно не понимаю, почему. У кого-нибудь есть идея или лучшее решение?