所以我有一个带有对象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);
}
感谢您的帮助! 在此先感谢
答案 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));
}
}