关于Java:检查项目是否在数组中

Java - Check if item is in array

本问题已经有最佳答案,请猛点这里访问。

0

我的阵列设置如下:

1
2
3
Material[] blockedlevel1 = {
            Material.mymaterialone, Material.mymaterialtwo  
        };

如何查看材质是否在此数组中?


在数组中查找它怎么样?

1
2
3
4
5
6
for (Material m : blockedlevel1) {
    if (m.equals(searchedMaterial)) { // assuming that equals() was overriden
        // found it! do something with it
        break;
    }
}


如果您希望使用一种简单的方法来检查元素是否是集合的一部分,那么您可能应该考虑使用不同的数据结构,如set(并使用contains())。使用数组,您只能迭代元素并比较每个元素。


使用array类查找它怎么样?

参见数组binarysearch

或者像有人建议的那样,将数组转换成一个列表,并使用contains()方法。记住,您可能必须重写Material Equals方法。