所以我想比較兩個字符數組,而存在於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