我想比较ArrayList <player>的数组中的每个元素和int []数组

时间:2016-04-05 18:49:14

标签: java object arraylist compare

所以我有一个带有对象Player的ArrayList,它包含带有元素的数组(ArrayList)和另一个数组。 问题是:**我想比较arraylist中对象Player中的数组中的**元素与其他数组。

这是我的班级球员

public class Player{

  private String name;
  private int bet;
  private ArrayList <int []> lottorows;

这是我目前的比较代码:

    //Method that calculates no of right rows and puts it to the player
public static void NoOfRights(ArrayList<Player> a, int[] b){
    int count = 0;
    for(int i = 0; i < a.size(); i++){
        Player player = a.get(i);
        for(int j = 0; j < player.getRows();j++) {

               boolean isEqual = isEquals(player.getRows(j), b, 7);
               if(isEqual == true){
                   count++;
               }
               if(count == 7){
                   player.noOf7right(count);

               }
               else if(count == 6){
                   player.noOf6right(count);
               }
               else if(count == 5){
                   player.noOf5right(count);
               }

isEqual是一种方法:

    private static boolean isEquals(int[] j, int[] b, int size) {

    for(int i = 0; i<size; i++) {
        if(j[i] == b[i]) {
             return true;
        }
    }

    return false;
}

.getRows()是Player中的方法:

public int[] getRows(int a){
      return lottorows.get(a);
   }

感谢您的帮助! 在此先感谢

2 个答案:

答案 0 :(得分:4)

这归结为比较数组。 你可以使用:

if(Arrays.equals(array1, array2)) count++;

答案 1 :(得分:0)

在玩家类

中添加此行
private int SumOfRIghts;

和这两种方法

public void setSumOfRights(int sum){
    SumOfRights = sum;
}

public int NumOfRights(int [] numbers){
    int count = 0;
    for(int i = 0; i<lottorows.size();i++){
        for (j = 0; j<numbers.lenght){
            if(lottorows.get(i)==numbers[j]) count++;
        }
    }
}
return count;

然后你可以那样做

public static void sumOfRights(ArrayList<Player> a, int[] b){
    for (int i = 0; i < a.size(); i++) {
        a.get(i).setSumOfRights(a.get(i).NumOfRights(b));
    }
}