首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么过滤2个List中相同的!

2012-01-07 
如何过滤2个List中相同的!在线等啊~~List domainaddListnewArrayListdomain ()List domainremoveL

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

热点排行