【发布时间】:2017-11-16 11:40:14
【问题描述】:
所以问题是我有两个数组,必须检查它们是否有共同的项目。通常的东西,很容易。但对我来说棘手的是我必须返回另一个数组,其中包含已发现常见的元素.我不能不使用任何收藏。提前致谢。这是我目前的代码!
public class checkArrayItems {
static int[] array1 = { 4, 5, 6, 7, 8 };
static int[] array2 = { 1, 2, 3, 4, 5 };
public static void main(String[] args) {
checkArrayItems obj = new checkArrayItems();
System.out.println(obj.checkArr(array1, array2));
}
int[] checkArr(int[] arr1, int[] arr2) {
int[] arr = new int[array1.length];
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
arr[i] = arr1[i];
}
}
}
return arr;
}
}
【问题讨论】:
-
转换为列表并使用retainAll:docs.oracle.com/javase/7/docs/api/java/util/…
-
@canillas
can not use any collections -
所以使用 2 个循环,迭代和比较。使用谷歌...有很多这样的例子。
-
@canillas 我正在浏览 Google,但没有任何包含 3 个数组的示例
-
@СимеонПецанов 您可以使用
Integer.MIN_VALUE之类的默认值来区分正确的,即答案部分显示的Integer.MIN_VALUE生成的默认值
标签: java arrays elements items