如何过滤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(),就看你自己的功力了。。。。