Java 在for循环中循环问题,同时避免重复条目
在所选联系人中,我有重复的值,以便iam首先复制所选联系人副本Java 在for循环中循环问题,同时避免重复条目,java,android,for-loop,Java,Android,For Loop,在所选联系人中,我有重复的值,以便iam首先复制所选联系人副本 for(int q=0;q<selectedcontact.size();q++) { selectedcontactcopy.add(selectedcontact.get(q)); } for(int q=0;q这是一种不好的唯一性检查方法。更好的方法是利用java.util.Set的功能-确保您的联系人实现可比较和比较固定电话号码,然后将其添加到集合中并迭代集合内容 Set保证您
for(int q=0;q<selectedcontact.size();q++)
{
selectedcontactcopy.add(selectedcontact.get(q));
}
for(int q=0;q这是一种不好的唯一性检查方法。更好的方法是利用java.util.Set
的功能-确保您的联系人实现可比较和比较固定电话号码,然后将其添加到集合中并迭代集合内容
Set保证您的唯一性,并提供比嵌套for循环更干净的接口。使用HashSet
避免从ArrayList
重复值
大概
ArrayList arrayList = new ArrayList(); // Your ArrayList which contains repeated values
HashSet hashSet = new HashSet();
hashSet.addAll(arrayList);
arrayList.clear();
arrayList.addAll(hashSet);
删除重复元素的最简单方法是将内容添加到集合(不允许重复),然后将集合添加回ArrayList。无需为此创建两个列表。
创建一个HashMap,其中键作为固定电话号码,值作为整个联系人对象
迭代列表“selectedContacts”,并将所有元素放入hashmap。
最后,迭代创建的hashmap,并将hashmap中的所有值存储到联系人列表中
希望有帮助。选择ContactCopy.remove(r);如果条件解决了我的问题,则在内部。但这不是正确的方法。实际上,我必须使用下面用户所说的set
ArrayList arrayList = new ArrayList(); // Your ArrayList which contains repeated values
HashSet hashSet = new HashSet();
hashSet.addAll(arrayList);
arrayList.clear();
arrayList.addAll(hashSet);