1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
import scala.collection.jcl
object Test extends Application {
testMap
testSet
}
object testMap {
def toString(m1: collection.Map[Int, Int]): String =
m1.toList.sort((x, y) => x < y).mkString("{", ", ", "}")
def test(m1: jcl.Map[Int, Int]) {
try {
m1.put(10, 20)
val m2 = m1.clone()
m1.put(20, 30)
println("m1="+toString(m1))
println("m2="+toString(m2))
println("m1.size > m2.size is "+ (m1.size > m2.size))
m1.remove((20, 30))
println("m1 equals m2 is "+ (m1 equals m2))
println()
}
catch {
case e: Exception =>
println(e); println()
}
}
test(new jcl.HashMap[Int, Int])
// Clone on IdentityHashMap of java-ibm-1.6 behaves differently than all others
// Therefore, for now we will not perform this test on it.
// test(new jcl.IdentityHashMap[Int, Int])
test(new jcl.LinkedHashMap[Int, Int])
test(new jcl.TreeMap[Int, Int])
test(new jcl.WeakHashMap[Int, Int])
}
object testSet {
def toString(s1: collection.Set[Int]): String =
s1.toList.sort((x, y) => x < y).mkString("[", ", ", "]")
def test(s1: jcl.Set[Int]) {
s1.add(10)
val s2 = s1.clone()
s1.add(20)
println("s1="+toString(s1))
println("s2="+toString(s2))
println("s1.size > s2 is "+ (s1.size > s2.size))
s1.remove(20)
println("s1 equals s2 is "+ (s1 equals s2))
println()
}
test(new jcl.HashSet[Int])
test(new jcl.LinkedHashSet[Int])
test(new jcl.TreeSet[Int])
}
|