簡體   English   中英

如何在java中比較數組列表中的比較元素

[英]How to Compare comparing elements in an arraylist in java

我有一個足球隊的 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

誰能幫我。

這是一個想法。 (我希望他們沒有把問題弄錯)

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 的匹配項。

您可能正在尋找的是一種組合數組元素的方法。

因此,在一個小組中有四支球隊(t0、t1、t2、t3),組合將是

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

有了這個結果組合列表,您應該能夠編寫必要的循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM