gpt4 book ai didi

scala - Scala 中可变集合的迭代器?

转载 作者:行者123 更新时间:2023-12-04 14:52:32 25 4
gpt4 key购买 nike

just发现Java中有这样的迭代器。
Scala 是否有带有“set”和“remove”方法的迭代器
迭代(和修改)像数组这样的可变集合?
如果没有这样的迭代器,那么有充分的理由吗?

最佳答案

Scala 目前没有这样的迭代器。

我怀疑这不是因为

  • 这样的迭代器不是通用的(即它们只能用于可变集合),而是使用命名空间。
  • 因为它们可能会很快变得与像 takeWhile 这样的惰性操作结合起来思考起来混淆。 (x.takeWhile(_<5).add(5) 应该做什么总是显而易见的吗?一方面,操作的顺序似乎应该先取,然后加;但另一方面,take 是懒惰的,而add 经常可以实现立即,因此以这种方式将它们组合起来会很天真。)
  • 这样的迭代器在算法上只是一个非常专业的集合的好主意(基本上只有链表和树;无论如何在数组上使用 add 和 remove 是愚蠢的,并且在集合上没有多大意义)。
  • 当通用性和速度之间出现内在冲突时,Scala 集合库通常倾向于通用性。这种迭代器让您以更特殊的方式思考集合(即与底层数据结构更紧密地联系在一起)。你可以想象一个库会做出不同的选择,但对于一个最有用(并且仍然非常高效)的库,Scala 集合库哲学可能是更好的方法。
  • 关于scala - Scala 中可变集合的迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2803085/

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