相关疑难解决方法(0)

scala中mutable.Set.foreach的错误?

我正在使用scala 2.9.1,当我尝试这段代码时:

import scala.collection.mutable
val a = mutable.Set(1,2,3,4,7,0,98,9,8)
a.foreach(x => { println(x); a.remove(x) })
Run Code Online (Sandbox Code Playgroud)

结果是这样的

0
98
2
1
4
3
8
Run Code Online (Sandbox Code Playgroud)

没有列出a的所有元素.在此之后,a变为Set(9,7)而不是空集.它对我来说看起来很奇怪,它是一个bug还是我们在做foreach时无法修改集合本身?

foreach scala mutable scala-collections

8
推荐指数
1
解决办法
2003
查看次数

Scala中可变集合的迭代器?

刚刚发现Java中有这样的迭代器.
Scala是否具有带有'set'和'remove'方法的迭代器,用于迭代(和修改)像array这样的可变集合?
如果没有这样的迭代器,那么有充分的理由吗?

iterator scala scala-2.8

6
推荐指数
1
解决办法
2355
查看次数