我有一个类 ArrayList,所以当它们的 Autor 相同时,我必须删除重复的关键字,但当它们不同时则不需要。以下代码仅在第一个索引(i = 0)中删除重复项,然后它不会删除任何内容。
谢谢!
例子:
这里我有一个例子:
1 个公私伙伴关系
2个电子电气设备
3 B AAA
4 乙 LL
5A CCC
2个电子电气设备
5A CCC
在这种情况下,我不想删除任何行,因为“A”有不同的父级(2 和 5)。
int size = ls.size();
int duplicates = 0;
// not using a method in the check also speeds up the execution
// also i must be less that size-1 so that j doesn't
// throw IndexOutOfBoundsException
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if(ls.get(j).getKeywords().equals(ls.get(i).getKeywords()) && ls.get(j).getAutor().equals(ls.get(i).getAutor()) ){
duplicates++;
ls.remove(j);}
// decrease j because the array got re-indexed
j--;
// decrease the size of the array
size--;
} // for j
} // fo