当前位置: 代码迷 >> J2EE >> 如何去除两个数组中重复的字段 然后获得新的不重复的内容
  详细解决方案

如何去除两个数组中重复的字段 然后获得新的不重复的内容

热度:215   发布时间:2016-04-21 23:27:51.0
怎么去除两个数组中重复的字段 然后获得新的不重复的内容
本帖最后由 zgchengzj 于 2013-03-27 14:05:32 编辑
如题; 我写的如下可是有问题 请大神指点

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集合里的值就是不重复且两组字符串相加的结果了。
  相关解决方案