Java For循环填充if语句参数

Java For循环填充if语句参数,java,if-statement,for-loop,Java,If Statement,For Loop,我正在使用基本的if语句,例如 if(b==0 || b==2) { //do something } 问题是,在使用时,b可能等于2个以上的整数…或更少。我试过写作 if( /* for loop to check b against an ArrayList of ints adding || if iteration is anything but the ArrayLists size - 1 */ ){ //do something } Eclipse显然不会让

我正在使用基本的if语句,例如

if(b==0 || b==2)
{
    //do something
}
问题是,在使用时,b可能等于2个以上的整数…或更少。我试过写作

if(
   /* for loop to check b against an ArrayList of ints adding || if iteration is anything but the ArrayLists size - 1 */
){
   //do something
}
Eclipse显然不会让我这么做。有没有一种方法可以处理可能不同数量的b==0 | | b==2 | | b==

**编辑


if语句已经在for循环中,该循环迭代b

您可以创建要检查的所有整数的列表,并使用
contains()

List values=Arrays.asList(0,2,5,7);
如果(值包含(b)){
...
}

您可以创建一个要检查的所有整数的列表,并使用
contains()

List values=Arrays.asList(0,2,5,7);
如果(值包含(b)){
...
}


我不完全确定您想要完成什么,但您可以在for循环中尝试if,而不是相反。为什么不将可接受的数字添加到列表中,然后执行a acceptableNumbers.contains(b)?b如何能等于2个以上的整数?不代表单个整数?
b可能大于2个整数,对不起。不可能。我写了一个节拍器,它将合成声音(两种声音中的任何一种)写入阵列,并写入音轨。声音是由我们在酒吧的哪个节拍决定的。(因此,对于音乐分组,这可能只是1…或1、3和5)…我不完全确定您想要完成什么,但您可以尝试在for循环中使用if,而不是相反。为什么不将可接受的数字添加到列表中,然后使用AcceptableNumber.contains(b)?如何使
b
等于2个以上的整数?不代表单个整数?
b可能大于2个整数,对不起。不可能。我写了一个节拍器,它将合成声音(两种声音中的任何一种)写入阵列,并写入音轨。声音是由我们在酒吧的哪个节拍决定的。(因此,对于音乐分组,这可能只是1…或1、3和5)…为什么不使用
哈希集呢?查找不是应该是
O(1)
而不是
O(n)
?@crush:我认为增加的复杂性不足以证明这一点,但可以肯定的是,您可以使用
哈希集来提高性能。它真的更复杂吗?@crush:没有这么清楚。在我看来,过早地优化这些琐碎的事情很少是个好主意,但意见可能会有所不同。我不同意。当代码还没有编写出来的时候,这并不是过早的优化。过早的优化会使您对已经编写的代码的性能产生困扰。如果你已经知道一种技术是工作的正确工具,那么你就没有理由不使用它。我不知道你为什么如此坚决地为自己使用列表作为查找表辩护。基本上,如果集合中有6个以上的项,那么HashSet就是作业的工具。为什么不使用
HashSet
?查找不是应该是
O(1)
而不是
O(n)
?@crush:我认为增加的复杂性不足以证明这一点,但可以肯定的是,您可以使用
哈希集来提高性能。它真的更复杂吗?@crush:没有这么清楚。在我看来,过早地优化这些琐碎的事情很少是个好主意,但意见可能会有所不同。我不同意。当代码还没有编写出来的时候,这并不是过早的优化。过早的优化会使您对已经编写的代码的性能产生困扰。如果你已经知道一种技术是工作的正确工具,那么你就没有理由不使用它。我不知道你为什么如此坚决地为自己使用列表作为查找表辩护。基本上,如果集合中有6个以上的项,那么HashSet就是该作业的工具。
List<Integer> values = Arrays.asList(0, 2, 5, 7);
if (values.contains(b)) {
   ...
}