在选定的联系人中,我具有重复的值,因此,我将首先获取所选联系人副本的副本
for(int q=0;q<selectedcontact.size();q++)
{
selectedcontactcopy.add(selectedcontact.get(q));
}
然后比较两个数组列表
for(int r=0;r<selectedcontactcopy.size();r++)
{
for(int j=0;j<selectedcontact.size();j++)
{
if(r!=j && r<j)
{
if(selectedcontactcopy.get(r).getLandLineNumber().toString().trim().equals(selectedcontact.get(j).getLandLineNumber().toString().trim()))
{
Log.i("hai",selectedcontact.get(j).getLandLineNumber().toString());
selectedcontact.remove(j);
j--;
}
}
}
}
但是这种情况是避免了第一次重复,然后arraylist不会比较下一个连续的值
最佳答案
这是进行唯一性检查的不好方法。更好的方法是利用java.util.Set
的功能-确保您的联系人实现可比较并比较座机号码,然后将其添加到集合中并遍历集合内容。
Set保证您的唯一性,并且提供了比嵌套循环更清晰的界面。