set定義
set 當中元素是無序的,而且會去重,如下**所示,定義了乙個set
val set =set[int](1
,2,3
,4,4,5)
**執行如下
intersect 求交集
val set =set[int](1
,2,3
,4,4
,5) val set1 = set[int](4
,5,6
,7,8
,9) val res :set[int]
= set.
intersect
(set1)
效果圖如下:
diff 求差集
val res1 :set[int]
=set.
diff
(set1)
val res1 :set[int]
=set1.
diff
(set)
效果圖如下
操作符操作
filter過濾器
可以看到返回值的型別還是set。
可變長的set
匯入包
import scala.collection.mutable
而在使用set的時候,要使用可變和不可變的時候,只需要在set前面加上mutable或者imutable
set的其餘用法 序號
方法描述
1def +(elem: a): set[a]
為集合新增新元素,x並建立乙個新的集合,除非元素已存在
2def -(elem: a): set[a]
移除集合中的元素,並建立乙個新的集合
3def contains(elem: a): boolean
如果元素在集合中存在,返回 true,否則返回 false。
4def &(that: set[a]): set[a]
返回兩個集合的交集
5def &~(that: set[a]): set[a]
返回兩個集合的差集
6def +(elem1: a, elem2: a, elems: a*): set[a]
通過新增傳入指定集合的元素建立乙個新的不可變集合
7def ++(elems: a): set[a]
合併兩個集合
8def -(elem1: a, elem2: a, elems: a*): set[a]
通過移除傳入指定集合的元素建立乙個新的不可變集合
9def addstring(b: stringbuilder): stringbuilder
將不可變集合的所有元素新增到字串緩衝區
10def addstring(b: stringbuilder, sep: string): stringbuilder
將不可變集合的所有元素新增到字串緩衝區,並使用指定的分隔符
11檢測集合中是否包含指定元素
12def count(p: (a) => boolean): int
計算滿足指定條件的集合元素個數
13def copytoarray(xs: array[a], start: int, len: int): unit
複製不可變集合元素到陣列
14def diff(that: set[a]): set[a]
比較兩個集合的差集
15def drop(n: int): set[a]]
返回丟棄前n個元素新集合
16def dropright(n: int): set[a]
返回丟棄最後n個元素新集合
17def dropwhile(p: (a) => boolean): set[a]
從左向右丟棄元素,直到條件p不成立
18def equals(that: any): boolean
equals 方法可用於任意序列。用於比較系列是否相等。
19def exists(p: (a) => boolean): boolean
判斷不可變集合中指定條件的元素是否存在。
20def filter(p: (a) => boolean): set[a]
輸出符合指定條件的所有不可變集合元素。
21def find(p: (a) => boolean): option[a]
查詢不可變集合中滿足指定條件的第乙個元素
22def forall(p: (a) => boolean): boolean
查詢不可變集合中滿足指定條件的所有元素
23def foreach(f: (a) => unit): unit
將函式應用到不可變集合的所有元素
24def head: a
獲取不可變集合的第乙個元素
25def init: set[a]
返回所有元素,除了最後乙個
26def intersect(that: set[a]): set[a]
計算兩個集合的交集
27def isempty: boolean
判斷集合是否為空
28def iterator: iterator[a]
建立乙個新的迭代器來迭代元素
29def last: a
返回最後乙個元素
30def map[b](f: (a) => b): immutable.set[b]
通過給定的方法將所有元素重新計算
31def max: a
查詢最大元素
32def min: a
查詢最小元素
33def mkstring: string
集合所有元素作為字串顯示
34def mkstring(sep: string): string
使用分隔符將集合所有元素作為字串顯示
35def product: a
返回不可變集合中數字元素的積。
36def size: int
返回不可變集合元素的數量
37def splitat(n: int): (set[a], set[a])
把不可變集合拆分為兩個容器,第乙個由前 n 個元素組成,第二個由剩下的元素組成
38def subsetof(that: set[a]): boolean
如果集合a中含有子集b返回 true,否則返回false
39def sum: a
返回不可變集合中所有數字元素之和
40def tail: set[a]
返回乙個不可變集合中除了第一元素之外的其他元素
41def take(n: int): set[a]
返回前 n 個元素
42def takeright(n: int):set[a]
返回後 n 個元素
43def toarray: array[a]
將集合轉換為陣列
44def tobuffer[b >: a]: buffer[b]
返回緩衝區,包含了不可變集合的所有元素
45def tolist: list[a]
返回 list,包含了不可變集合的所有元素
46def tomap[t, u]: map[t, u]
返回 map,包含了不可變集合的所有元素
47def toseq: seq[a]
返回 seq,包含了不可變集合的所有元素
48def tostring(): string
返回乙個字串,以物件來表示
set 集合 不可變集合
集合 如何建立乙個集合 直接把一堆元素用大括號括起來 使用set 工廠函式,例 set1 set 1,2,3,4,5,5 set1 num1 type num1 集合裡的引數是唯一的,重複的元素會被剔除,集合裡面的元素位置是隨機的,所以無法用索引查詢想要的引數 num1 num1 例子 目的 去除重...
scala不可變集set
set set 集 是代表沒有重複元素的集合。set具備以下性質 元素不重複 不保證插入順序 scala中的集也分為兩種,一種是不可變集,另一種是可變集。不可變集 定義語法 建立乙個空的不可變集,語法格式 scala val var 變數名 set型別 給定元素來建立乙個不可變集,語法格式 scal...
Scala的可變集合和不可變集合
scala 的集合有三大類 序列 seq 集 set 對映 map,所有的集合都擴充套件自 iterable 特質 在 scala 中集合有可變 mutable 和不可變 immutable 兩種型別,immutable 型別的集合 初始化後就不能改變了 注意與 val 修飾的變數進行區別 scal...