如何比较 java 中数组列表中的比较元素

How to Compare comparing elements in an arraylist in java

我有一个足球队数组列表

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

谁能帮帮我

您可能正在寻找一种组合数组元素的方法。

因此,如果有四支球队(t0、t1、t2、t3)组成一个小组,则组合为

  • t0 - t1
  • t0 - t2
  • t0 - t3
  • t1 - t2
  • t1 - t3
  • t2 - t3

有了这个结果组合列表,您应该能够编写必要的循环。

这是一个主意。 (我希望他们没有把问题弄错)

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 获取匹配项。