2013-01-12 56 views
1

我試圖將我的地圖:斯卡拉 - 轉換映射到二維數組

private var map=Map[String,Double]() 

成二維數組,但我很難做。 有人能幫助我或者給我,例如它是如何做? 我也遇到了麻煩,在創建陣列,因此,如果你能幫助我與我會很高興。

謝謝您的時間,並有一個美好的一天! :)

+6

什麼是輸入,什麼是輸出(可以提供例如,究竟陣列應該格式化)?你有什麼嘗試? –

回答

8

的指定者方法看起來很有希望:

res6: scala.collection.immutable.Map[java.lang.String,Double] = Map(a -> 1.1, b -> 2.2, c -> 3.0) 

    scala> res6.toArray 
    res7: Array[(java.lang.String, Double)] = Array((a,1.1), (b,2.2), (c,3.0)) 

如果你真的想要一個數組,而不是元組:

scala> res6.toArray.map(x => Array(x._1, x._2)) 
    res8: Array[Array[Any]] = Array(Array(a, 1.1), Array(b, 2.2), Array(c, 3.0)) 
+2

避免使用'_1'和'_2'的替代語法:'res6.toArray.map {case(a,b)=> Array(a,b)}' – Nick

+2

@Nick或'res6.toArray.map(x = > x.productElements.toArray)' –

+0

@ OM-NOM-NOM:其實productElements已被棄用,不會在2.10存在了(現在被稱爲productIterator) – BeniBela