scala编程系列(5)-scala集set和映射map

在Scala的集合中,分为不可变和可变类型。如array具有可变性,list保持不变。对于set和map来说,Scala同样有可变和不可变的。(这里的可变与不可变是针对其元素)

set类型

set分为可变和不可变类型。默认情况下,它是不变的。

scala> var testSet= Set("This","is","Friday")
testSet: scala.collection.immutable.Set[String] = Set(This, is, Friday)

scala> testSet += "Hello"
scala> testSet
res25: scala.collection.immutable.Set[String] = Set(This, is, Friday, Hello)

scala> println(testSet.contains("Hello"))
true
当需要可变的时,可以import 可变的set
scala> import scala.collection.mutable.Set
import scala.collection.mutable.Set

scala> val testSet1=Set("This","is","Friday")
testSet1: scala.collection.mutable.Set[String] = Set(Friday, This, is)

scala> testSet1 += "Hello"
res29: testSet1.type = Set(Friday, This, is, Hello)

scala> testSet1
res30: scala.collection.mutable.Set[String] = Set(Friday, This, is, Hello)

scala> println(testSet1.contains("Hello"))
true
set类继承图




映射Map

Map也分为可变和不可变的,使用方式和Set一样。

scala> import scala.collection.mutable.Map
import scala.collection.mutable.Map

scala> val testMap = Map[Int, String]()
testMap: scala.collection.mutable.Map[Int,String] = Map()

scala> testMap +=(1 -> "This")
res32: testMap.type = Map(1 -> This)

scala> testMap +=(2 -> "is")
res33: testMap.type = Map(2 -> is, 1 -> This)

scala> testMap +=(3 -> "Friday")
res34: testMap.type = Map(2 -> is, 1 -> This, 3 -> Friday)

scala> println(testMap(2))
is

scala> println(testMap(3))
Friday

快速初始化:

scala> val romanNumeral = Map(1 -> "I",2 -> "II",3 -> "III",4 -> "IV",5 -> "V")
romanNumeral: scala.collection.mutable.Map[Int,String] = Map(2 -> II, 5 -> V, 4 -> IV, 1 -> I, 3 -> III)

scala> println(romanNumeral(4))
IV


其继承图如下:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值