我正在尝试找到具有相关类的两个序列之间的交集和并集。为了实现这一点,我希望能够为交叉函数提供自定义相等性检查。我不想覆盖equals和hashcode函数。我想要一个交叉函数,它也需要一个函数来检查是否相等。
如果没有编写自定义的交集和联合函数,是否有任何干净的方法来实现这一目标?
答案 0 :(得分:0)
标准库可能不支持您所询问的内容。编写自定义交集/联合方法相当容易。另一种可能性是像这样包装你的实例:
class Wrapper[E](val wrapped: E) {
// Override equals/hashCode here
}
然后计算Wrapper[E]
的并集/交集,然后使用unionOfWrappers.map(_.wrapped)
来获得所需内容。当然,这将导致创建许多Wrapper
个实例并收集垃圾。