在 Java 中,我正在为一个包含 4 支球队的联赛创建一个足球赛程生成器。
我有一个名为“matchDays”的二维数组列表,其中包含 6 个比赛日数组列表。每个比赛日包含 2 个夹具对象。
我正在尝试遍历 matchDays,并且对于每个比赛日,从我单独创建的所有可能的灯具列表中添加 2 个灯具对象。问题是当我添加一个夹具来匹配第 1 天时,它也会添加到第 2 天到第 6 天。
以下代码来自我编写的一个测试用例,它突出了我遇到的问题:
@Test
public void arrayListTest() {
FixtureGenerator fixGen = new FixtureGenerator();
// Generate all possible fixtures
List<Fixture> fixtures = fixGen.generateFixtures();
// Create list of all 4 participating teams
List<Club> clubs = fixGen.createListOfClubs();
// Create 6 lists (match days) to store 2 fixtures in each
List<List<Fixture>> matchDays = fixGen.createMatchDaysList(clubs);
matchDays.get(0).add(fixtures.get(0));
System.out.println("Match day 1, fixture 1: " + matchDays.get(0).get(0).getHomeTeam() +
" v " + matchDays.get(0).get(0).getAwayTeam());
System.out.println("Match day 2, fixture 1: " + matchDays.get(1).get(0).getHomeTeam() +
" v " + matchDays.get(1).get(0).getAwayTeam());
System.out.println("Match day 3, fixture 1: " + matchDays.get(2).get(0).getHomeTeam() +
" v " + matchDays.get(2).get(0).getAwayTeam());
}
此代码产生以下控制台输出:
Match day 1, fixture 1: Team A v Team B
Match day 2, fixture 1: Team A v Team B
Match day 3, fixture 1: Team A v Team B
如果我只在第 1 天比赛中添加了夹具“A 队对 B 队”,那么它在比赛第 2 天和第 3 天的表现如何?