无辜映射后IntMap更改类型

时间:2010-09-02 12:18:53

标签: collections scala map lambda immutability

考虑这段代码:

Welcome to Scala version 2.8.0.r0-b20100714201327 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_20).
scala> val a = IntMap((1,1))
a: scala.collection.immutable.IntMap[Int] = IntMap((1,1))
scala> a.map(x => (x._1,x._2 + 1))
res23: scala.collection.immutable.Map[Int,Int] = Map((1,2))
IntMap.map的标题说明了这一点
 def   map  [B]  (f: ((Int, T)) ⇒ B)  : immutable.IntMap[B]
[用例]通过将函数应用于所有元素来构建新集合 这个不可变的整数映射。
我应该如何构造lambda来返回IntMap?

1 个答案:

答案 0 :(得分:2)

在Scala 2.8下,我得到了

scala> a.map(x => (x._1,x._2 + 1))
res0: scala.collection.immutable.IntMap[Int] = IntMap((1,2))