黑猴子的家 Scala Set 集

2021-09-24 01:31:44 字數 1647 閱讀 8590

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)
6、set更多常用操作

序號方法描述1

def +(elem: a): set[a]

為集合新增新元素,並建立乙個新的集合,除非元素已存在

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 ++(elems: a): set[a]

合併兩個集合

7def drop(n: int): set[a]]

返回丟棄前n個元素新集合

8def dropright(n: int): set[a]

返回丟棄最後n個元素新集合

9def dropwhile(p: (a) => boolean): set[a]

從左向右丟棄元素,直到條件p不成立

10def max: a

查詢最大元素

11def min: a

查詢最小元素

12def take(n: int): set[a]

返回前 n 個元素

黑猴子的家 Hadoop Checkpoint機制

fsimage和edit log合併的過程如下圖所示 其實這個合併過程是乙個很耗i o與cpu的操作,並且在進行合併的過程中肯定也會有其他應用繼續訪問和修改hdfs檔案。所以,這個過程一般不是在單一的namenode節點上進行從。如果hdfs沒有做ha的話,checkpoint由secondname...

黑猴子的家 FileInputFormat切片機制

1 job提交流程原始碼詳解 waitforcompletion submit 1 建立連線 connect 1 建立提交job的 new cluster getconfiguration 2 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job su...

黑猴子的家 Zookeeper Java API

1 code github 2 環境準備 1 建立乙個工程 2 解壓zookeeper 3.4.10.tar.gz檔案 3 拷貝zookeeper 3.4.10.jar jline 0.9.94.jar log4j 1.2.16.jar netty 3.10.5.final.jar slf4j ap...