Scala集合

Scala集合有可变和不可变两种

举个例子,我有一个列表,这个列表有三个元素,如果我要修改这个列表的话,我可以更改任何一个元素的值,那么这个列表是可变的,我得到的永远是这一个列表

相反的,如果这个列表的元素无法更改,如果我想达到修改的效果,可以通过重新生成一个列表,新的列表里是我想要的值,返回给我,这样的话也可以达到相同的效果,那么这个列表就是不可变的。

Scala推荐使用不可变的变量

实际上这涉及到函数式编程的一种思想,即程序中的操作应该将输入值映射成输出值,但不应该修改输入值,可以这样认为,这样的方法没有副作用

Set

初始化

val set=Set(1,2,4)

添加新元素,注意可变集合和不可变集合,默认是不可变集合

    val set1 = Set(1, 2, 4)
    val set2 = set1 + 5
    
    print(set1) //1,2,4
    print(set2) //1,2,4,5

    val set3 = mutable.Set(1, 2, 4);
    set3 + 5
    print(set3) //1,2,4

    set3 += 5
    print(set3) //1,2,,4,5

可以再想想

    var set1 = Set(1, 2, 4)
    set1+5
    print(set1) //1,2,4
    set1+=5
    print(set1) //1,2,4,5

实际上使用+的时候都不会改变原有集合,而是返回原有的集合。+=可以改变可变集合,当不可变集合是val的时候无法调用+=,因为无法把set1的指针指向新的集合,是var的时候会生成一个新的集合,把set1的指针指到新的集合上

Map

初始化

val map=Map(1->"a",2->"b",3->"c")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值