aio*_*obe 12 scala list set scala-collections
如果我Set使用Scala 创建Set(1, 2, 3)一个immutable.Set.
scala> val s = Set(1, 2, 3)
s: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
Q1:这实际上是什么样的套装?它是一些散列集吗?例如,查找的复杂性是多少?
Q2:我在哪里可以阅读这种"创建"方法?我认为这是apply方法,但文档说" 这个方法允许集合被解释为谓词.如果此集合包含元素elem,则返回true. "
同样,如果我创建一个List使用List(1, 2, 3),我得到
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
Run Code Online (Sandbox Code Playgroud)
Q3:再次,我得到了什么?在这种情况下,我甚至无法立即判断它是否可变,因为它甚至不是scala.collection-package的一部分.为什么这个包含在scala包中?
问题4:我可以在API中阅读有关"创建列表"方法的内容吗?
Ken*_*oom 12
他说,只是为了增加sepp2k对Q3的出色答案
它存在于
scala包中,因为它被认为是基本的,它属于基础包.
这适用于Scala 2.7
在Scala 2.8中,集合类已经重新组织,现在::该类存在scala.collection.immutable,并且名称scala.::是类型别名scala.collection.immutable.::.
Welcome to Scala version 2.8.0.RC5 (OpenJDK 64-Bit Server VM, Java 1.6.0_18).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val l = List(1, 2, 3)
l: List[Int] = List(1, 2, 3)
scala> l.getClass
res0: java.lang.Class[_] = class scala.collection.immutable.$colon$colon
scala> scala.::
res1: collection.immutable.::.type = scala.collection.immutable.$colon$colon$@6ce5d622
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9580 次 |
| 最近记录: |