/ / Jakie jest znaczenie Seq [Int] jako klucza w Map [Seq [Int], FactorNode]? - scala

Jakie znaczenie ma Seq [Int] jako klucz w Map [Seq [Int], FactorNode]? - scala

Mam następujący wiersz kodu w Scali:

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

Tak, to tworzy instancję a mutable.Map ale nie rozumiem klucza - Seq[Int].

Jest Seq[Int] tablica liczb całkowitych lub po prostu specjalny sposób indeksowania do pozycji na mapie?

Odpowiedzi:

3 dla odpowiedzi № 1

Seq[Int] jest cechą (podobną do interfejsu Java). Po zaimplementowaniu jest to w zasadzie tablica liczb całkowitych, co oznacza, że ​​twoja mapa używa tablic jako kluczy. Możesz zrobić coś takiego:

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.