Scala目前没有这样的迭代器.
我怀疑它不是因为
这样的迭代器不是通用的(即它们仅可用于可变集合)但是使用命名空间.
因为他们很快就会混淆思考与懒惰的操作一起思考takeWhile(它总是显而易见的x.takeWhile(_<5).add(5)应该做什么?一方面,操作的顺序似乎应该首先采取,然后添加;但另一方面,take是懒惰虽然add通常可以立即实施,所以将它们组合起来这将是天真的危险.)
这样的迭代器在算法上只是一个很好的主意,有一组非常专业的集合(基本上只有链表和树;无论如何,添加和删除在数组上使用都是愚蠢的,并且在集合上没有多大意义).
当普遍性和速度之间出现内在冲突时,Scala集合库通常倾向于普遍性.这种迭代器使您能够以更具体的方式考虑集合(即与底层数据结构更紧密地联系在一起).您可以想象一个库可以做出不同的选择,但对于一个最有用(但仍然非常高效)的库,Scala集合库理念可能是更好的方法.
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |