是否可以在“A”点返回带有map的函数的SortedMap或TreeMap?或者点“B”是否需要遵守这项任务?
A:
A:
val list = List(5,4,3).map(i => i -> i ).toMap println(list) Map(5 -> 5,4 -> 4,3 -> 3)
B:
println(SortedMap[Int,Int]() ++ list) Map(3 -> 3,5 -> 5)
解决方法
通常,您可以使用to [Coll]方法.由于类型参数的优点,它在这里失败:
import scala.collection.immutable.SortedMap // error: SortedMap takes two type parameters,expected: one val list = List(5,3).map(i => i -> i ).to[SortedMap]
但是您可以注释返回类型并使用breakOut导入为任意集合类型提供必要的构建器工厂:
import scala.collection.breakOut val list: SortedMap[Int,Int] = List(5,3).map(i => i -> i)(breakOut)