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 № 1Seq[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.