【摘要】:Set集合类最大的特性就是不允许在其中存放重复的元素。图5-8scala.collection.mutable包中集类的类图在Scala中,基于默认使用不可变集合的规范,在默认导入的Predef类中提供了集的别名等定义,具体代码如下所示:在Predef类中提供了不可变集合类Set的别名,因此在使用时,默认情况下使用的是不可变的集合类。
在Scala中,使用trait Set[A]来表示集。Set集合类最大的特性就是不允许在其中存放重复的元素。因此,Set可以被用来过滤在其他集合中存放的元素,从而得到一个没有包含重复元素的集合。
下面从两个方面对集进行分析。 1.Set集合的类图 在Scala集合类库中,集同样包含了可变集和不可变集。不可变集的类图如图5-7所示。
图5-7 scala.collection.mutable包中集类的类图
可变集的类图如图5-8所示。
图5-8 scala.collection.mutable包中集类的类图(www.daowen.com)
在Scala中,基于默认使用不可变集合的规范,在默认导入的Predef类中提供了集的别名等定义,具体代码如下所示:
在Predef类中提供了不可变集合类Set的别名,因此在使用时,默认情况下使用的是不可变的集合类。
2.集合中元素不重复的控制 在集Set中,通过对象的==方法来判断元素是否相同,避免集包含相同元素。下面以只包含一个元素的不可变Set的子类Set1为例进行说明。Set1的代码如下所示:
对应的Set1中的+操作调用了contains操作,判断是否已经包含重复元素,而contains操作则调用了==方法。当已经包含相同元素时,返回集合本身,否则,构建一个包含两个元素的Set2集合。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Scala语言基础与开发实战的文章