list存入的是实体类,如何去重复

list的存入的是实体类,如何去重复
List arrayList = new ArrayList();
for (Holiday ho:arrayList) {
if (!hoList.contains(ho)) {
hoList.add(ho);
}
}
这样写总是返回true 把重复数据也写入

5个回答

重写实体类的equal和hasCode方法,指定规则,譬如那些字段相同的就返回true,再添加就不重复了

http://blog.csdn.net/u014398573/article/details/51142216 这个应该是最简单的 转换成Set去重复

qq_35728177
Tsui丶 需要list可以再转回来
大约 3 年之前 回复

重写你实体类的hashcode方法。然后把list放入set中就好了。set去重是比较放入集合中的hashcode值。你可以按照自己的实际情况去重。

用实体类里面唯一的东西来作为判断条件,或者用组合条件来判断。实现compareTo的方法来比较

立即提问
相关内容推荐