Scala学习笔记6--容器

本文详细探讨了Scala中的可变与不可变容器,重点讲解了Set、Map和List的操作,包括创建、过滤、添加、合并等。强调了不可变容器在线程安全和程序正确性方面的优势,并提供了示例代码展示如何在实践中使用这些容器。
摘要由CSDN通过智能技术生成

可变容器与不可变容器

Scala虽然也提供了可变的(mutable)容器,但它更倾向于使用不变的(immutable)版本。不变容器不仅线程安全,而且没有副作用,有助于提升程序的正确性。在两个可供选择的包,只要在两个包选择一个即可:scala.collection.mutable或scala.collection.im-mutable。默认情况下,我们用的是不可变Set和Map

Set

  • 创建容器
val feeds1 = Set("blog.toolshed.com", "pragdave.pragprog.com",  "pragmactic-osxer.blogspot.com", "vita-contemplativa.blogspot.com")
val feeds2 = Set("blog.toolshed.com", "martinfowler.com/bliki")
  • filter 过滤
val blogSpotFeeds = feeds1 filter ( _ contains "blogspot" )
  • +=() 添加
feeds1 += 'www.baidu.com'
  • ++() 合并
val mergedFeeds = feeds1 ++ feeds2
  • size 元素个数
println("# of merged feeds: " + mergedFeeds.size)
  • **() 交集
val commonFeeds = feeds1 ** feeds2
  • map 处理每个元素,并返回结果集<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值