【发布时间】:2011-02-06 17:23:10
【问题描述】:
我的代码中有一个场景,我需要比较两个列表并从第一个列表中删除第二个列表中存在的对象。类似于 List 的“removeAll”对象的工作方式。由于我的 List 是在自定义对象上创建的,因此 removeAll 方法对我不起作用。
我尝试了各种方法来完成这项工作: - 为包含列表的自定义对象实现 equals() 和 hashCode - 为自定义对象实现了 Comparable Interface - 为自定义对象实现了比较器接口
我什至尝试过使用 Apache Common 的 CollectionUtils 和 ListUtils 方法(减法、相交、removeAll)。似乎没有一个工作。
我知道我可能需要编写一些自定义删除代码。但不知道如何去做。任何帮助我朝着正确方向前进的指针将不胜感激。
谢谢, 周杰伦
【问题讨论】:
-
首先,给出一些代码,这样我们就不会猜测了
-
我认为如果你能展示你正在尝试做的事情的代码,这个问题可能会更清楚。
-
这里和下面都有建议,但具体请发布您的
equals和hashCode方法的代码。您可能尝试过这些,但写错了。这是正确的方法,如果操作正确,将与removeAll()一起使用。