Итак, я пытаюсь сравнить два массива символов, и все буквы, которые присутствуют в keyW, должны быть удалены из массива invAlphabet. Я смог найти дубликаты внутри массива invAlphabet, однако я не знаю, как удалить дубликаты элементов без использования списков или коллекций, которые я не должен использовать ... Любая идея?Сравните два массива и удалите дубликаты из оригинального массива java (без списков)
public static void main(String[] args)
{
final int SIZE = 26;
char[] keyW = {'A', 'L','O'};
char[] invAlphabet = new char [SIZE];
for (int i = 0; i < SIZE; i++)
{
invAlphabet[i] = (char)('Z' - i);
}
for (int i = 0; i<keyW.length; i++)
{
for (int j = 0; j < invAlphabet.length; j++)
{
if(keyW[i] == invAlphabet[j])
{
//need to delete the invAlphabet[j] elements that are duplicates
System.out.println(invAlphabet[j]);
System.out.println(j);
break;
}
}
}
}
Что вы подразумеваете под «удалением» в контексте массива - вы не можете изменять размеры массивов. Вы хотите создать новый массив с определенными элементами? Вам нужно сохранить заказ? –
(Если вам не нужно сохранять порядок, сортируйте два массива и просто итерируйте их, ищите общие элементы). –
@ AndyTurner Да. Я хочу создать новый invAlphabet, но без элементов, присутствующих в массиве keyW. invAlphabet - отсортированный массив, который содержит перевернутые буквы алфавита (Z-A). Поэтому, выбирая буквы A, L и O, новый массив invAlphabet должен быть в порядке Z-B без присутствия A, L или O. – user3768997