Java代码找出两个数组里面重复的数字
时间: 2023-06-03 20:03:29 浏览: 290
可以用双重循环遍历两个数组,对每个元素都在另一个数组中查找是否存在相同的值。具体实现可以参考以下代码:
```java
public static void findDuplicate(int[] arr1, int[] arr2) {
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
System.out.println(arr1[i] + " is duplicate.");
}
}
}
}
```
调用该方法时,把两个数组传入即可:
```java
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = {3, 6, 7, 1, 0};
findDuplicate(arr1, arr2); // Output: 1, 3
```
该方法的时间复杂度是 O(n^2),如果数组很大,效率可能会比较低,可以考虑其他算法优化。
相关问题
java 找出两个数组的差别
可以使用 Java 内置的 Arrays 类中的静态方法 `compare` 来比较两个数组的差别。该方法会返回一个整数,表示两个数组的差别:
- 如果返回值为 0,表示两个数组完全相同;
- 如果返回值小于 0,表示第一个数组在对应位置上的值小于第二个数组;
- 如果返回值大于 0,表示第一个数组在对应位置上的值大于第二个数组。
以下是一个示例代码,可以找出两个数组的差别:
```java
import java.util.Arrays;
public class ArrayDifference {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 4};
int cmp = Arrays.compare(arr1, arr2);
if (cmp == 0) {
System.out.println("两个数组完全相同");
} else {
System.out.println("两个数组不同,差别为:" + cmp);
}
}
}
```
在上面的示例代码中,我们定义了两个数组 `arr1` 和 `arr2`,然后使用 `Arrays.compare` 方法比较这两个数组的差别。最后根据比较结果输出不同的提示信息。
写一个java代码用以找出两个数组的公共部分
在Java中,我们可以使用HashSet数据结构来找到两个数组之间的公共元素。HashSet是一个不允许有重复元素的集合,所以当我们把两个数组添加到HashSet中,最后剩下的元素就是它们的公共部分。以下是简单的代码示例:
```java
import java.util.HashSet;
public class CommonElements {
public static int[] findCommon(int[] array1, int[] array2) {
HashSet<Integer> set = new HashSet<>();
// 添加第一个数组的所有元素
for (int num : array1) {
set.add(num);
}
// 查找第二个数组中存在的、也在set里的元素
int[] result = new int[array2.length];
int index = 0;
for (int num : array2) {
if (set.contains(num)) {
result[index++] = num; // 如果找到就添加到结果数组
set.remove(num); // 从set中移除已处理的元素,防止重复查找
}
}
// 返回结果数组,直到所有找到的元素都添加完成或array2遍历完
return Arrays.copyOf(result, index);
}
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {4, 5, 6, 7, 8};
int[] common = findCommon(array1, array2);
System.out.println("Common elements are: " + Arrays.toString(common));
}
}
```
阅读全文