bug978.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 39 行

SCALA
39
字号
class Foo(val n: Int) {  override def hashCode = n % 2 // pretty bad hash  override def equals(other: Any): Boolean = other match {    case f: Foo => f.n == n    case _ => false  }  override def toString = "" + n}object Test extends Application {  val set = new collection.mutable.HashSet[Foo]//  val set = new collection.jcl.HashSet[Foo]  val max = 200  for (val x <- 1 to max)    set += new Foo(x)  testRemove(2)  testExists(2)  def testRemove(m: Int) {    for (val x <- 1 to max; x % m == 0) {      val f = new Foo(x)      set -= f      assert(!(set contains f))      testExists(m)    }  }  def testExists(m: Int) {    for (val x <- 1 to max; x % m == 1) {      val f = new Foo(x)      assert(set contains f, "For element: " + f + " set: " + set)    }  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?