Ken*_*Ken 2 java scala treemap
我有一个java.util.Treemap[Long, Int]Scala.我需要做的是将Treemap中的值转换为Array [Int].
我可以得到一个Iterator[Int]或Collection[Int]来自TreeMap,但我不知道如何将这些转换为Array[Int].
任何建议,将不胜感激.
问题t.values.toArray是java.util.Collection已经有一个toArray()方法,这就是为什么它返回一个Integer[]看起来像Array[AnyRef]Scala的原因.如果Java没有这样的方法,那么隐式in JavaConversions会Iterable[Int]在构建Array之前启动并将其转换为a .因此,您可以显式调用coversion或提供类型提示:
import collection.JavaConversions._
(t.values: Iterable[Int]).toArray
Run Code Online (Sandbox Code Playgroud)
或者
import collection.JavaConverters._
t.values.asScala.toArray
Run Code Online (Sandbox Code Playgroud)
对于1000个条目的TreeMap,在我的机器上,这些速度是使用速度的两倍,大约是使用速度的30倍toMap.