今天项目中遇到了一个对List中对象去重的问题。
首先对于我们自己系统中的对象我们只要重写该对象的 equal 和 hashcode 即可(利用对象中的能够唯一确定对象的属性)。
但是我遇到的不是本系统的对象, 而是另一个系统中的对象, 我本身是无法对其进行重写的。 我的处理方法是遍历List,利用Map<uniqueField, myObject> (uniqueField 表示能够唯一确定该对象的属性, myObject 表示去重的对象) 来进行去重, 然后就解决了该问题。
如果我们利用set去重的对于单纯的基本数据类型是好使的, 但是对于对象就不好使了, 就必须重写 equal 和 hashcode
本文介绍了如何在项目中处理不同系统对象的列表去重问题。通过使用Map结合唯一确定对象的属性,实现对象去重。同时解释了为什么Set不适合用于对象去重,并强调了在对象比较中重写equals和hashCode的重要性。

被折叠的 条评论
为什么被折叠?



