: -6ren">
gpt4 book ai didi

scala - 集合高级操作弃用(列表:List[A] - a:A)

转载 作者:行者123 更新时间:2023-12-04 18:12:59 26 4
gpt4 key购买 nike

为什么会有这种运算符(operator)方法

      @deprecated("use `filterNot (_ == x)` instead", "2.8.0")
def - [B >: A](x: B): List[B]
//i.e. List(1,23,3,4,5) - 23

不赞成使用列表,但不建议使用集合?
Set(1,23,3,4) - 23

如果是因为List在性能方面不是很适合此操作,但是我们仍然有应该避免使用length方法。
集合操作符在scala的 future 版本中将如何显示?

最佳答案

List方法的问题在于它从未执行过您期望的操作。天真的,我希望

1,2,3,1,2,3 - 1,2,3,1 == 2,3

因此
1,2,3,1,2,3 - 1 == 2,3,1,2,3

除了那不是你得到的;相反,你得到
1,2,3,1,2,3 - 1 == 2,3,2,3

(这正是 filterNot给出的,并且您应该期望得到)。

由于 Set的元素是唯一的,因此两种方法之间没有区别。

关于scala - 集合高级操作弃用(列表:List[A] - a:A),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405545/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com