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