我在Scala中有以下代码行:
private val factorNodes: mutable.Map[Seq[Int], FactorNode] = mutable.Map[Seq[Int], FactorNode]()
所以,这会实例化一个mutable.Map
,但我不明白密钥 - Seq[Int]
。
Seq[Int]
是一个整数数组还是只是一种索引到地图中某个位置的特殊方式?
答案 0 :(得分:3)
Seq[Int]
是一个特征(类似于Java接口)。实现时,它基本上是一个整数数组。这意味着您的地图使用数组作为键。您可以执行以下操作:
val a: FactorNode = new FactorNode
val b: FactorNode = new FactorNode
val map: mutable.Map[Seq[Int], FactorNode] = mutable.Map(Seq(1,2,3) -> a)
map += (Seq(1,2,5) -> b)
// and to retrieve:
map(Seq(4,5,6)) // should fail.
map(Seq(1,2,5)) // should return b.