可变容器与不可变容器
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
处理每个元素,并返回结果集<