для тех, кто не знает лигу чемпионов, она состоит из 32 команд, разделенных на 8 групп, в каждой группе по 4 команды, они играют между собой дома и в гостях, затем первые две команды из каждой группы идут на матчи плей-офф
примечание: я подумал о группах и о лучших вещах, которые я придумал, это о массиве 2D, если у вас есть другое решение, пожалуйста, скажите мне
У меня есть пять списков ArrayLists, содержащих 100 команд из разных лиг. PremireLeague, laLiga, ligue1, serieA, bundesliga
Теперь, как случайным образом заполнить каждую группу разными командами, помните, что в группе не должно быть двух команд одной лиги, а в каждой группе должны быть команды разных уровней
Я подумал создать временный список, чтобы я мог легко смешать их, чтобы потом передать их в 2D-массив
List<Team> temp = new ArrayList<>();
Random r = new Random();
int num = 0;
internal:
while (true) {
num = r.nextInt(7);
if (!temp.contains(premireLeague.getTeam(num))) {
temp.add(premireLeague.getTeam(num));
break internal;
}
}
internal:
while (true) {
num = r.nextInt(7);
if (!temp.contains(laLiga.getTeam(num))) {
temp.add(laLiga.getTeam(num));
break internal;
}
}
for (int i = 0; i < 6; i++) {
internal:
while (true) {
num = r.nextInt(7);
if (!temp.contains(premireLeague.getTeam(num))) {
temp.add(premireLeague.getTeam(num));
break internal;
}
}
internal:
while (true) {
num = r.nextInt(7);
if (!temp.contains(laLiga.getTeam(num))) {
temp.add(laLiga.getTeam(num));
break internal;
}
}
internal:
while (true) {
num = r.nextInt(6);
if (!temp.contains(ligue1.getTeam(num))) {
temp.add(ligue1.getTeam(num));
break internal;
}
} internal:
while (true) {
num = r.nextInt(6);
if (!temp.contains(serieA.getTeam(num))) {
temp.add(serieA.getTeam(num));
break internal;
}
} internal:
while (true) {
num = r.nextInt(6);
if (!temp.contains(bundesliga.getTeam(num))) {
temp.add(bundesliga.getTeam(num));
break internal;
}
}
}
Team[][] groupsTable = new Team[8][4];
int tempnum = 0;
for (int i = 0; i < 8; i++) {
for (int z = 0; z < 4; z++) {
groupsTable[i][z] = temp.get(tempnum);
tempnum++;
}
}
это то, что я придумал, но я думаю, что это скучно и не слишком умно