日期:2014-05-20  浏览次数:20667 次

如何过滤2个List中相同的!在线等啊~~
List <domain>   addList   =   new   ArrayList   <domain> ();
List <domain>   removeList   =   new   ArrayList <domain> ();

如果addList中domain.getId()   ==   removeList中domain.getId.则把removeList   中的domain给remove掉。
如何过滤出来

------解决方案--------------------
在你的domain类中重载equals方法,正确的判断是不是相等

然后
removeList.removeAll(addList);


------解决方案--------------------
1: 重写domain 的equals方法, 当id相等返回true
2: addList.removeAll(removeList)

搞定

------解决方案--------------------
需要遍历两个list才行吧?
循环的时候不能remove操作,
我觉得你需要一个临时存放removeList 中内容的list,
就像做字符串操作一样。
重写equals方法有什么好处吗?
------解决方案--------------------
重写domain 的equals方法,
domain.getId() == removeList中domain.getId时返回true;
然后调用
addList.removeAll(removeList)


------解决方案--------------------
哪有那么简单哦,重写equals()还要同时重写hashCode()方法的哦
------解决方案--------------------
楼上的正确,需要先重写hashCode()方法,再重写equals()。
要重写hashCode(),就看你自己的功力了。。。。