我正在寻找创建身份集的简单方法。我只是希望能够在遍历图表时跟踪我是否“看到”了特定对象。
我不能使用常规 Set 因为 Set 使用“==”(Scala 中的 equals 方法)来比较元素。我想要的是一个使用“eq”的集合。
有什么方法可以在 Scala 中创建一个 Set 使用某些应用程序指定的方法来测试相等性,而不是在 set 元素上调用 equals ?我寻找某种可以覆盖但没有找到的“wrapEquals”方法。
我知道我可以使用 Java 的 IdentityHashMap,但我正在寻找更通用的东西。
我的另一个想法是将每个 set 元素包装在另一个根据 eq 实现 equals 的对象中,但是为了获得新的 equals 实现而生成大量新对象是浪费的。
谢谢!