如何获取整行或对象的状态是一个二维数组

时间:2015-05-27 11:09:29

标签: java arrays 2d row

所以我理解如何获取特定对象的状态。

somearray = new array[10][10]

存储在此数组中的对象是一个开关,可以在

(boolean status = true) 

或关闭

 (status = false).

让我们说

somearray[3][4].status() would = false

很好,我很满意。

我想知道的是如何检查。

if(      // that each object in a full Row or a full column are all on) {
         //store that said row or coloumn details until finished checking all other rows and columns.
         //Then using the stored variable turn that whole row/s and or column/s off  }

我知道我可以循环遍历数组中的每个元素但是我如何定义它是否作为完整行/ coloumn的一部分

提前感谢我指出了正确的方向。

2 个答案:

答案 0 :(得分:1)

使用Java 8 stream api:

boolean oneFalseCell = Arrays.asList(somearray[0])
  .stream()
  .anyMatch(sw -> sw.status() == false);

如果行中至少有一个单元格为false,则oneFalseCell为true,因此:

boolean rowStatus = !oneFalseCell;

答案 1 :(得分:0)

你不提供你的课程,但很可能你不能,你可以做的是:

for(int i = 0 ; i<somearray.length ; i++){

    boolean thisRowStatus= true;
    for(int j = 0 ; j < somearray[i].length ; j++)
        if(somearray[i][j].status() == false)
            thisRowStatus= false;

    if( thisRowStatus) { 
        //  do whatever you want with row number i
    }

}