【发布时间】:2016-09-12 06:13:47
【问题描述】:
我正在使用TreeMap,它在以下代码中的行为很奇怪。
代码如下:
import scala.collection.immutable.TreeMap
object TreeMapTest extends App{
val mp = TreeMap((0,1) -> "a", (0,2) -> "b", (1,3) -> "c", (3,4) -> "f")
mp.keys.foreach(println) //A
println("****")
mp.map(x => x._1).foreach(println) //B
}
如您所见,两条打印线(A 和 B)应该打印相同的内容,但结果如下:
(0,1)
(0,2)
(1,3)
(3,4)
****
(0,2)
(1,3)
(3,4)
为什么会发生这种情况?有趣的是,甚至 IDE 都认为可以互换使用这两者并建议替换。
【问题讨论】:
-
我不认为
keys的顺序是问题所在。第二个示例中似乎缺少第一个键。 -
啊,呃。谢谢。我认为这只是问题中的一个错误!
标签: scala collections treemap