如题; 我写的如下可是有问题 请大神指点
ArrayList<String> mContactsName = new ArrayList<String>();
List<RecoverContactsInfo> list;
private List<RecoverContactsInfo> addlist = new ArrayList<RecoverContactsInfo>();
...........
for (int i = 0; i < mContactsName.size(); i++) {
for (RecoverContactsInfo rc : list) {
String name=mContactsName.get(i).trim();
String num = mContactsNumber.get(i).replace("-","").replace(" ", "");
//当名字与号码都不一样
if(!name.equals(rc.getName().trim()) && !num.equals(rc.getNumber())){
addlist.add(rc);
}
}
}
------解决方案--------------------
用List.retainAll()得到交集,然后用List.removeAll()去掉交集里的元素就可以了。
------解决方案--------------------
如楼上所说把两组字符串放入分别放入 HashSet 集合addAll
直接拿HashSet集合里的值就是不重复且两组字符串相加的结果了。