【发布时间】:2011-03-10 03:16:20
【问题描述】:
如果我使用Set(1, 2, 3) 在Scala 中创建Set,我会得到immutable.Set。
scala> val s = Set(1, 2, 3)
s: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
Q1:这到底是个什么样的Set?它是一些哈希集吗?例如,查找的复杂性是多少?
Q2:我在哪里可以了解这种“集合创建”方法?我认为这是 apply 方法,但文档说“此方法允许将集合解释为谓词。它返回 true,如果此集合包含元素 elem。”
同样,如果我使用List(1, 2, 3) 创建一个List,我会得到
scala> val l = List(1, 2, 3)
l: List[Int] = List(1, 2, 3)
scala> l.getClass
res13: java.lang.Class[_] = class scala.$colon$colon
Q3:同样,我会得到什么?在这种情况下,我什至无法立即判断它是否可变,因为它甚至不是scala.collection-package 的一部分。为什么它存在于scala 包中?
Q4:我可以在 API 的什么地方了解这种“创建列表”的方法?
【问题讨论】:
标签: list scala set scala-collections