Set,与Seq, Map并列
java
Set是没有重复元素的Iterable,方法分为以下几类:app
Test ide
方法:contains
, apply
, subsetOf
测试
contains方法询问是否set包含了yield被给与的元素.
ui
apply同contains,即 set(elem) 等同于 set contains elem
spa
For examplescala
scala> val fruit = Set("apple", "orange", "peach", "banana") fruit: scala.collection.immutable.Set[java.lang.String] = Set(apple, orange, peach, banana) scala> fruit("peach") res0: Boolean = true scala> fruit("potato") res1: Boolean = false
Additions
code
方法:+
and ++
orm
增长一个或者多个元素
继承
Removals
方法: - , --
删除一个或者多个元素
Set operations
方法:union, intersection, diff
这些方法有两种形式,字母和字符。
intersect | & |
union | | |
diff | &~ |
继承自Traversable的++方法有点相似unoin。(后面略,没意义)
Class Set 操做
WHAT IT IS | WHAT IT DOES |
Tests: | |
xs contains x | 测试 xs是否包含x |
xs(x) | 同上 |
xs subsetOf ys | 测试xs是不是ys的子集 |
Additions: | |
xs + x | Set xs 添加元素x ,返回Set(子类可能重写) |
xs + (x, y, z) | Set xs 添加括号中的元素 返回Set |
xs ++ ys | xs ys合并后的全部元素 返回 Set |
Removals |
|
xs - x | Set 包含xs中除去x的全部元素 |
xs - (x, y, z) | Set 包含xs出去括号中元素的全部元素 |
xs -- ys | Set 包含xs中除去ys中元素的全部元素 |
xs.empty | 清空xs |
Binary Operations: | |
xs & ys | xs和ys的交集 |
xs intersect ys | |
xs | ys | xs和ys的并集 |
xs union ys | |
xs &~ ys | xs和ys的区别 |
xs diff ys |