我可以在Scala中创建一个使用不同的equals / hashCode / compare
发布时间:2020-12-16 10:01:23 所属栏目:安全 来源:网络整理
导读:我正在寻找创建身份集的简单方法.我只是希望能够在遍历图形时跟踪我是否“看到”某个特定对象. 我不能使用常规Set,因为Set使用“==”(Scala中的equals方法)来比较元素.我想要的是一个使用“eq.”的Set. 有没有办法在Scala中创建一个Set,它使用一些应用程序指
我正在寻找创建身份集的简单方法.我只是希望能够在遍历图形时跟踪我是否“看到”某个特定对象.
我不能使用常规Set,因为Set使用“==”(Scala中的equals方法)来比较元素.我想要的是一个使用“eq.”的Set. 有没有办法在Scala中创建一个Set,它使用一些应用程序指定的方法来测试相等性而不是在set元素上调用equals?我寻找某种“wrapEquals”方法,我可以覆盖,但没有找到它. 我知道我可以使用Java的IdentityHashMap,但我正在寻找更通用的东西. 我的另一个想法是将每个set元素包装在另一个以eq方式实现equals的对象中,但是生成大量新对象只是为了得到一个新的equals实现是浪费的. 谢谢! 解决方法
This是一个类似的问题.在这种情况下接受的答案是使用TreeSet并提供自定义Comparator.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |