在选定的联系人中,我具有重复的值,因此,我将首先获取所选联系人副本的副本

    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保证您的唯一性,并且提供了比嵌套循环更清晰的界面。

09-09 22:30