黑猴子的家:Scala Set 集

set集是不重复元素的结合。集不保留顺序,默认是以哈希集实现。
如果想要按照已排序的顺序来访问集中的元素,可以使用SortedSet(已排序数据集),已排序的数据集是用红黑树实现的。
默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用 scala.collection.mutable.Set 包。

1、Set不可变集合的创建

//默认不可变集合
val set = Set(1, 2, 3)
println(set)

2、Set可变集合的创建

如果import了可变集合,那么后续使用默认也是可变集合
import scala.collection.mutable.Set
val mutableSet = Set(1, 2, 3)

import scala.collection.mutable
val mset1 = mutable.Set(1,2,3)

3、可变集合的元素添加

mset1.add(4)
mset1+= 6
// 注意该方法返回一个新的Set集合,而非在原有的基础上进行添加
val set = mset1.+(7)
val set2 = mset1 + 7
println(set)
println(mset1)

4、可变集合的元素删除

//set 中具体的值
mset1-= 1
println(mset1)
//set 中具体的值
mset1.remove(2)
mset1 remove 5
println(mset1)

5、遍历

for(x <- mset1){
  print(x + " ")
}

6、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 个元素

尖叫提示:其他操作就不一一列举了,有什么需求,可以通过Scala Api进行查看

你可能感兴趣的:(黑猴子的家:Scala Set 集)