我试图遍历 2 个数组,外部数组比另一个长。它将循环遍历第一个,如果第二个数组不包含该 int,它将返回 false。但我不知道该怎么做。这是我到目前为止所拥有的:
public boolean linearIn(int[] outer, int[] inner) {
for (int i = 0; i < outer.length; i++) {
if (!inner.contains(outer[i])) {
return false;
}
}
return true;
}
运行时出现此错误:
Cannot invoke contains(int) on the array type int[]
我想知道是否可以在不使用嵌套循环(如上)的情况下完成。我知道我做错了什么,如果有人能在这件事上提供帮助,那就太好了。此外,我不确定在 int[]
的 java 文档中寻找什么类。
原文由 Caveman42 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以检查较大的数组
outer
包含较小数组中的每个元素,即inner
:注意:
Integer
此方法需要类型才能工作。如果使用基元,则Arrays.asList
将返回List
包含类型为int[]
的单个元素。在这种情况下,调用containsAll
将不会检查数组的实际内容,而是比较原语int
数组Object
references945。