6.1 Set-基本介绍
Set我们称为集,大部分情况下我们也直接称为集合,Set是不重复元素的结合。集不保留顺序,默认是以哈希集实现。
默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用
scala.collection.mutable.Set 包。
6.2 Set 创建
6.2.1 Set不可变集合的创建
val set = Set(1, 2, 3) //不可变 println(set) |
6.2.2 Set可变集合的创建
import scala.collection.mutable.Set val mutableSet = Set(1, 2, 3) //可变 |
6.3 可变集合的元素添加和删除
6.3.1 可变集合的元素添加
mutableSet.add(4) //方式1 mutableSet += 6 //方式2 mutableSet.+=(5) //方式3 |
说明:如果添加的对象已经存在,则不会重复添加,也不会报错
6.3.2 可变集合的元素删除
val set02 = mutable.Set(1,2,4,"abc") set02 -= 2 // 操作符形式 set02.-=(4) // ok set02.remove("abc") // 方法的形式,scala的Set可以直接删除值 println(set02) |
6.4 Set集合的遍历
val set02 = mutable.Set(1, 2, 4, "abc") for (x <- set02) { println(x) } |
6.5 Set集合-更多操作
序号 | 方法 | 描述 |
1 | def +(elem: A): Set[A] | 为集合添加新元素,并创建一个新的集合,除非元素已存在 |
2 | def -(elem: A): Set[A] | 移除集合中的元素,并创建一个新的集合 |
3 | def contains(elem: A): Boolean | 如果元素在集合中存在,返回 true,否则返回 false。 |
4 | def &(that: Set[A]): Set[A] | 返回两个集合的交集 |
5 | def &~(that: Set[A]): Set[A] | 返回两个集合的差集 |
6 | def ++(elems: A): Set[A] | 合并两个集合 |
7 | def drop(n: Int): Set[A]] | 返回丢弃前n个元素新集合 |
8 | def dropRight(n: Int): Set[A] | 返回丢弃最后n个元素新集合 |
9 | def dropWhile(p: (A) => Boolean): Set[A] | 从左向右丢弃元素,直到条件p不成立 |
10 | def max: A //演示下 | 查找最大元素 |
11 | def min: A //演示下 | 查找最小元素 |
12 | def take(n: Int): Set[A] | 返回前 n 个元素 |