Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查数组的所有元素是否都不';t等于某个值?(例如,非空)_Java_Arrays - Fatal编程技术网

Java 如何检查数组的所有元素是否都不';t等于某个值?(例如,非空)

Java 如何检查数组的所有元素是否都不';t等于某个值?(例如,非空),java,arrays,Java,Arrays,前面的数组 String[] player = {"Empty","Empty","Empty","Empty"} 输入后的数组 String[] player = {"Tom","Bob","Alex","Kid"} 我记得有一种方法可以检查数组的所有元素 if(!player[0].equals("Empty") && !player[1].equals("Empty") && !player[2].equals("Empty") &&

前面的数组

  String[] player = {"Empty","Empty","Empty","Empty"}
输入后的数组

String[] player = {"Tom","Bob","Alex","Kid"}
我记得有一种方法可以检查数组的所有元素

if(!player[0].equals("Empty") && !player[1].equals("Empty") && !player[2].equals("Empty") && !player[3].equals("Empty"))
{
   System.out.println("No more space");
}

我的问题。是否有方法选择数组的所有元素?

您可以隐式迭代数组:

或者显式迭代数组:


你的意思是:

boolean hasEmpty = false;

for (int i = 0; i < player.length(); i ++)
{
     if(player[i].equals("Empty")){
         hasEmpty = true;
         break;
     }
}

if(hasEmpty) System.out.println("No more space");
boolean hasbempty=false;
对于(int i=0;i
我知道这可能不是一个选项,但:


所以,如果数组是
{“Empty”,“Empty”,“Empty”,“Empty”}
这将输出“不再有空间”四次?你为什么不加上休息时间?还有别的办法吗?不使用for循环。我不确定,但我记得我在一本书中读到有array.all之类的东西。不确定这就是我问的原因。@om-nom-nom对不起,伙计,我忽略了它,我正在处理第二个解决方案=(好吧,所有这些都不错,但这不是我想要的。好吧,我必须再读一遍这本书。看看我是否被错误地发现了它。我的错误是ArrayList。哦,好吧,thx anyways=DTrue…但我看不出这比
contains
解决方案有什么改进。(如果有的话,它可能会更慢)现在,如果问题需要不区分大小写的匹配,情况就不同了…@StephenC您为什么认为这会更慢?allMatch短路(在第一个“false”处退出)?或者您担心调用动态?
for(String p : player)
{
    if(!p.equals("Empty"))
       continue;
    else
    {
       System.out.println("No more space.");
       break;
    }
}
boolean hasEmpty = false;

for (int i = 0; i < player.length(); i ++)
{
     if(player[i].equals("Empty")){
         hasEmpty = true;
         break;
     }
}

if(hasEmpty) System.out.println("No more space");
boolean nonEmpty = Arrays.asList(player).anyMatch(x -> x.equals("Empty"))