SCala 集(set)

集是不重复元素的集合,列表得元素是按照插入得先后顺序组织的,但是集的元素并不记录插入的顺序,而是以“哈希”方法对元素的值进行组织,它允许你快速地找到某个元素。

1、不可变集

//1、集包括可变集和不可变集,缺省情况下创建的集都是不可变集。
scala> var myset = Set("Hadoop",101)
myset: scala.collection.immutable.Set[Any] = Set(Hadoop, 101)

//添加元素
scala> myset += "Spark"

scala> myset
res1: scala.collection.immutable.Set[Any] = Set(Hadoop, 101, Spark)

2、可变集

声明不可变集时,如果使用val,mySet += “Scala”执行时会报错,所以需要声明为var。

如果要声明一个可变集,则需要引入scala.collection.mutable.Set包,具体如下(在Scala解释器中执行):

scala> import scala.collection.mutable.Set
import scala.collection.mutable.Set

scala> val myMutableSet = Set("Database","BigData")
myMutableSet: scala.collection.mutable.Set[String] = Set(BigData, Database)

scala> myMutableSet += "Cloud Computing"
res2: myMutableSet.type = Set(BigData, Cloud Computing, Database)

scala> myMutableSet
res3: scala.collection.mutable.Set[String] = Set(BigData, Cloud Computing, Database)

scala> print(myMutableSet)
Set(BigData, Cloud Computing, Database)

声明myMutableSet为val变量(不是var变量),由于是可变集,因此,可以正确执行myMutableSet += “Cloud Computing”,不会报错。

 

注意:虽然可变集和不可变集都有添加或删除元素的操作,但是,二者有很大的区别。对不可变集进行操作,会产生一个新的集,原来的集并不会发生变化。 而对可变集进行操作,改变的是该集本身,

 

转载于:https://www.cnblogs.com/RHadoop-Hive/p/10075407.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值