具有唯一性的不可变协变集合

时间:2019-03-30 00:36:46

标签: scala

我想要一个具有a)协方差和b)唯一性的不可变集合。我的收藏数量永远不会很大,而且我对快速contains的关注也越来越少。

目前,我只是在uniquePrepend上使用自己的List扩展方法,但这并不令人满意,因为内部没有强制执行唯一性。

有人知道那里满足(a)和(b)的集合吗?如果没有,是否有比我的扩展方法更好的解决方案?谢谢

1 个答案:

答案 0 :(得分:1)

我永远无法理解为什么他们不希望Set是协变的。您需要做的就是将其设置为Any => Boolean,而不是A => Boolean。 您可以自己将其实现为Set[Any]的包装器,虽然它不是很漂亮,但是会做您想做的...