我这里有两个list里面中包含一个map而map里又包含了一个list大致结构可以说是这样
list{
id:
name:
list:[
{
name
}
]
}
请问如何剔除两个list里面的重复数据
然后在合并
------解决方案--------------------
问题描述似乎不太明确。。。可以举个简单例子不?
------解决方案--------------------
for (int i = 0; i < list.size(); i++) {
if(list2.contains(list.get(i)))
{
System.out.println("有");
}
else
{
System.out.println("没有");
}
}
把第一个list里面的数据读出来再去判断就行了
------解决方案--------------------
太不明确了啊,你的重复数据指的是什么样的重复,id重复就算重复还是所有的都一样才算重复
------解决方案--------------------
求一个简单数据样本,有点晕乎。
------解决方案--------------------
- Java code
public static void main(String[] args) { List list = new ArrayList(); List list1 = new ArrayList(); Map map = new HashMap(); for(Object o : list) { Map temp = (Map) o; map.put(temp.get("id"), temp); } for(Object o : list1) { Map temp = (Map) o; Map m = (Map)map.get(temp.get("id")); if(m != null) {//存在相同id List nameList = (List)m.get("list"); List tempList = (List) temp.get("list"); for(Object name : tempList) { if(!nameList.contains(name)) { nameList.add(name); } } } else {//不存在相同id map.put(temp.get("id"), temp); } } }
------解决方案--------------------
重写你的成员变量的方法