用Java语言实现:给定数组arr1 =[1,2,3,4,5,6,7,8,9,10],arr2 =[8,5,3,2,9,4],请求出属于arr1元素,但不属于arr2的元素.
时间: 2024-09-16 08:03:06 浏览: 57
在Java中,我们可以使用HashSet数据结构来快速查找元素是否存在于集合中,因为HashSet的查找时间复杂度是O(1)。首先,我们创建两个HashSet,分别存储arr1和arr2的元素,然后遍历arr1,检查每个元素是否在arr2的HashSet中,如果不,就将其添加到结果集中。
以下是Java代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] arr2 = {8, 5, 3, 2, 9, 4};
HashSet<Integer> set1 = new HashSet<>(Arrays.asList(arr1));
HashSet<Integer> set2 = new HashSet<>(Arrays.asList(arr2));
List<Integer> result = new ArrayList<>();
for (int num : arr1) {
if (!set2.contains(num)) {
result.add(num);
}
}
System.out.println("属于arr1但不属于arr2的元素有:");
for (int i : result) {
System.out.print(i + " ");
}
}
}
```
运行这段代码,会输出属于`arr1`但不属于`arr2`的元素。
阅读全文