Я хотел создать метод, который может проверять, совпадают ли два массива (без использования импорта). Порядок не имеет значения, и он может содержать дубликаты, и эти два массива должны оставаться неизменными! Моя идея состояла в том, чтобы скопировать первый массив, а затем сравнить массив копирования со вторым массивом. И если я найду правильную пару, удалите этот элемент из массива копирования, чтобы он мог обрабатывать дубликаты. Но я не могу удалить любой элемент из-за несоответствия типов. Мой код:
Решение. java
public class Solution {
public static boolean areTheyTheSame(int[] a, int[] b)
{
if (a.length == b.length)
{
//fill the temp array with the elements of a
int temp[] = new int[a.length];
for (int i = 0 ; i < a.length ; i++)
{
temp[i] = a[i];
}
//check if the temp array and the b array are the same
for (int i = 0 ; i < a.length ; i++)
{
for (int j = 0 ; j < a.length ; j++)
{
if (temp[i] == b[j])
{
temp[i] = null; // Type mismatch: cannot convert from null to int
}
else
{
return false;
}
}
}
return true;
}
return false;
}
}
Тест. java
public class Test {
public static void main(String[] args) {
int[] a = new int[]{121, 144, 19, 161, 19, 144, 19, 11};
int[] b = new int[]{121, 19, 19, 144, 161, 144, 11, 19};
if (Solution.areTheyTheSame(a, b) == true)
{
System.out.println("Equal");
}
else
{
System.out.println("Not equal");
}
}
}