Scala 为集合隐式定义相等/排序
可以为Scala中的集合定义我自己的相等或排序概念吗?重写Scala 为集合隐式定义相等/排序,scala,collections,equality,implicit,Scala,Collections,Equality,Implicit,可以为Scala中的集合定义我自己的相等或排序概念吗?重写等于和哈希代码在这种情况下不起作用,因为我希望有多个实例 以下是我的大致想法:(忽略此代码的无效性) 我认为相等/排序是一个类型类,但是像diff,union,intersect这样的函数似乎没有提供任何这样的功能。如果您有多个不同的实现进行比较,您可以为每个实现创建一个具有适当覆盖的类,然后使用隐式转换强制集合的类型,如下所示: class MyCompInt { overrides... } val union = Set[MyCom
等于
和哈希代码
在这种情况下不起作用,因为我希望有多个实例
以下是我的大致想法:(忽略此代码的无效性)
我认为相等/排序是一个类型类,但是像
diff
,union
,intersect
这样的函数似乎没有提供任何这样的功能。如果您有多个不同的实现进行比较,您可以为每个实现创建一个具有适当覆盖的类,然后使用隐式转换强制集合的类型,如下所示:
class MyCompInt { overrides... }
val union = Set[MyCompInt](1, 15, 3).union(...)
“重复”问题的答案可能重复,建议覆盖equals
,正如我在问题中所解释的,这不是我想要的。
class MyCompInt { overrides... }
val union = Set[MyCompInt](1, 15, 3).union(...)