public static int[] getCommonElements(int[] arr1, int[] arr2) {
时间: 2024-01-05 07:02:52 浏览: 75
这是一个 Java 的静态方法,它的作用是找出两个整数数组中的公共元素,并返回一个新的整数数组。方法的实现如下:
```java
public static int[] getCommonElements(int[] arr1, int[] arr2) {
Set<Integer> set1 = new HashSet<Integer>();
Set<Integer> set2 = new HashSet<Integer>();
for (int i : arr1) {
set1.add(i);
}
for (int i : arr2) {
set2.add(i);
}
set1.retainAll(set2);
int[] result = new int[set1.size()];
int i = 0;
for (int n : set1) {
result[i++] = n;
}
return result;
}
```
首先,将两个数组转换为两个 HashSet 集合,然后使用 Set 的 retainAll() 方法找出两个集合中的公共元素。最后,将公共元素转换为一个新的整数数组并返回。
相关问题
public static void int[] getCommonElements(int[] arr1,int[] arr2)
这是一个 Java 方法的声明,用于获取两个整型数组中的共同元素。方法的完整代码实现如下:
```java
public static int[] getCommonElements(int[] arr1, int[] arr2) {
List<Integer> commonList = new ArrayList<>();
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
commonList.add(arr1[i]);
break;
}
}
}
int[] commonArr = new int[commonList.size()];
for (int i = 0; i < commonList.size(); i++) {
commonArr[i] = commonList.get(i);
}
return commonArr;
}
```
该方法使用两个 for 循环遍历两个数组,如果元素相等则将其添加到一个 ArrayList 中。最后再将 ArrayList 转换为数组并返回。
public class ArrayDemo{ public static void main(String args[]) { int data[] = //补充代码: 调用方法开辟数组 //补充代码: 调用方法修改数组内容 //补充代码:调用方法输出数组内容 } public static int[] initArray() { int arr[] = new int[]{1,2,3,4,5,6,7,8,9,10}; // 开辟数组 return arr;//返回数组 } public static void changeArray(int arr[]) { //补充代码:修改数组元素值为其平方 for(int i=0;i<arr.length;i++){ arr[i]*=arr[i]; } } public static void printArray(int arr[]) { //补充代码:输出数组元素值,每个元素后面用1个空格隔开 for(int i=g;i<arr.length;i++){ System.out.print(arr[i]+""); } }}
以下是修改后的代码:
public class ArrayDemo{
public static void main(String args[]) {
int data[] = initArray(); //调用方法开辟数组
changeArray(data); //调用方法修改数组内容
printArray(data); //调用方法输出数组内容
}
public static int[] initArray() {
int arr[] = new int[]{1,2,3,4,5,6,7,8,9,10}; // 开辟数组
return arr;//返回数组
}
public static void changeArray(int arr[]) {
for(int i=0;i<arr.length;i++){ //修改数组元素值为其平方
arr[i]*=arr[i];
}
}
public static void printArray(int arr[]) {
for(int i=0;i<arr.length;i++){ //输出数组元素值,每个元素后面用1个空格隔开
System.out.print(arr[i]+" ");
}
}
}
阅读全文