当对象没有相同的引用时,从ArrayList中删除重复项

时间:2014-07-02 09:01:48

标签: java object arraylist

我的项目目前有问题。我有一个arraylist(让我们称之为BIG),它是由每个SQL查询中的另外3个arraylists(A,B,C)组成的,所以我在BIG arraylist中基本上有重复的项目(有时甚至是相同的Item 3或更多次)

我的问题是我不能使用.contains()方法,因为对象的引用在它们之间是不同的(即使一些对象代表相同的“item”),并且作为“主键”,从不属性arraylist中每个项目内的更改是项目的ID(int)。如何删除重复的元素,以便我只能使用每个“项目”中的一个?

2 个答案:

答案 0 :(得分:1)

您需要根据业务要求覆盖该类的Equals方法。

当然hashcode方法,因为如果等于被覆盖哈希码方法也应该被覆盖。

答案 1 :(得分:0)

在这里解释一下:

How to remove duplicates from a list?

equals检查两个对象的id属性。