Ich war bei der Definition von toArray
für Hashmaps suchen:Warum sagt das Scaladoc, dass HashMap.toArray Array [A] anstelle von Array [(A, B)] zurückgibt?
http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.HashMap
Es hat
toArray: Array[A]
def toArray[B >: (A, B)](implicit arg0: ClassTag[B]): Array[B]
ich das nicht ganz verstehen - das erste Bit sagt ein Array erhalten [A] , aber der zweite Teil sagt, du bekommst Array [B]? Keiner von ihnen sind das, was ich erwarte - Array [(A, B)]
Wenn ich schau es mir:
scala> val x = scala.collection.mutable.HashMap[String, Int]()
x: scala.collection.mutable.HashMap[String,Int] = Map()
scala> x.put("8", 7)
res0: Option[Int] = None
scala> x foreach println
(8,7)
scala> x.toArray
res2: Array[(String, Int)] = Array((8,7))
warum ist es nicht so ToList?
toList: scala.List[(A, B)]
nicht alle dedualisierten konnte. – Austin