2014-03-13 56 views
1

如何讓一個(ArrayInt,Int)作爲Map的鍵? 我基本上想要一個大小爲9的Integer數組和一個Integer作爲Map的鍵。如何將(Array [Int](9),Int)作爲Map的鍵?

我想是這樣的:

scala> var A:Map[(Array[Int](9), Int),Int] = Map() 
<console>:1: error: ')' expected but '(' found. 
     var A:Map[(Array[Int](9), Int),Int] = Map() 
          ^

我看着一對夫婦的其他問題,如this,但不能真正得到它!

或者我會如何去使用類而不是元組。在Scala中可能嗎?我看到一些使用案例類的帖子,但我認爲這就像一個枚舉的東西。

PS:今天就開始使用Scala!

+1

我不知道,如果你可以指定尺寸,考慮到你只是聲明鍵的*類型*;你沒有聲明任何實現特定的細節。 – christopher

+1

克里斯托弗是正確的,你可以指定'Array [Int]'作爲一個鍵,但是你不能指定它應該的大小 – serejja

+0

哦,所以我可以爲它分配任何大小,因爲我稍後添加數據? – AdRoiT

回答

5

(K, V)Tuple2[K, V]的合成糖,它是一種類型的構造函數。所以,K必須是一個類型。

換句話說,Array[Int]是一種類型。

Array[Int](9)不是一個類型,它的同伴對象的方法調用,它返回一個包含一個元素Int S的Array:9

相關問題