Java - 检查数组中是否存在某个元素

4

找一下,我想应该有那个“do循环”东西。 - Hot Licks
3个回答

8
在数组中查找它怎么样?
for (Material m : blockedlevel1) {
    if (m.equals(searchedMaterial)) { // assuming that equals() was overriden
        // found it! do something with it
        break;
    }
}

我该如何设置变量“m”,以便可以将其与数组进行比较?我需要检查Material block = event.getBlock().getType();(这是我的材料)。 - DannyF247
2
在上面的循环中,m 依次绑定到数组的每个元素;你不需要 设置 它,for 循环会为你完成。你需要注意的是,提供一个 searchedMaterial 进行比较(在你的示例中是 block),在 Material 类中实现一个 equals() 方法,并在找到材料后在 if 中执行某些操作。 - Óscar López

3
如果您想轻松检查元素是否是集合的一部分,您应该考虑使用不同的数据结构,比如Set(并使用contains())。使用Array,您只能迭代元素并逐个比较。

1

使用Arrays类查找如何?

参见Arrays#binarySearch

或者像某些人建议的那样,将您的数组转换为List并使用contains()方法。请记住,您可能需要重写Material#equals方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接