我有足球队的Arraylist
List<String> teams= new ArrayList<String>(teamCount);
teams.add("chelsea");
teams.add("Manchester Utd");
teams.add("Mancity");
teams.add("Swanser");
teams.add("asernal");
teams.add("aston villa");
teams.add("bacerlona");
teams.add("realmadrid");
List<String>Group1= teams.subList(0,4);
List<String>Group2= teams.subList(4,8);
我需要像以下那样进行比较: 在每个Arraylist中进行比较,以便每个团队必须在他自己的小组中扮演每个团队。 例如:
Group1
Chelsea vs Manchester Utd
Mancity vs Swanser
Chelsea vs Mancity
Chelsea vs Swanser
Mancity vs Manchester Utd
Manchester Utd vs Swanser
and Group 2
Asernal vs Aston villa
Bacerlona vs Aston villa
Realmadrid vs Aston villa
Realmadrid vs Bacerlona
Realmadrid vs Asernal
Asernal vs Bacerlona
任何人都可以帮助我。
答案 0 :(得分:1)
这是一个想法。 (我希望他们不会错误地提出这个问题)
import java.util.ArrayList;
import java.util.List;
public class p {
public static void main(String[] args) {
// Group1 consists of 4 teams, A,B,C and D
List<String>Group1= new ArrayList<String>() ;
Group1.add("A");
Group1.add("B");
Group1.add("C");
Group1.add("D");
// matches stores the names of the teams which have been selected for a match
List<String>matches = new ArrayList<String>();
for(String team1: Group1) {
for(String team2: Group1) {
if(!team1.equals(team2) && !matches.contains(team1+team2) && !matches.contains(team2+team1)) {
matches.add(team1+team2);
System.out.println(team1 + " vs " + team2);
}
}
}
}
}
您可以使用相同的方法获取Group2的匹配项。
答案 1 :(得分:0)
您可能正在寻找的是数组元素组合的方法。
所以,在一个小组中有四个小组(t0,t1,t2,t3),这个组合将是
使用此结果组合列表,您应该能够编写必要的循环。