Seq [Int]作为Map [Seq [Int],FactorNode]中的键的含义是什么?

时间:2014-02-18 20:24:59

标签: scala

我在Scala中有以下代码行:

private val factorNodes: mutable.Map[Seq[Int], FactorNode] = mutable.Map[Seq[Int], FactorNode]()

所以,这会实例化一个mutable.Map,但我不明白密钥 - Seq[Int]

Seq[Int]是一个整数数组还是只是一种索引到地图中某个位置的特殊方式?

1 个答案:

答案 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.