【scala初学】collections Sets

        collections.png

Set,与Seq, Map并列
java

Set是没有重复元素的Iterable,方法分为以下几类:app

  • Test ide

    方法:containsapplysubsetOf测试

   contains方法询问是否set包含了yield被给与的元素.ui

   apply同contains,即 set(elem) 等同于 set contains elemspa

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
  • Additionscode

    方法:+ 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
相关文章
相关标签/搜索