4 流的基本介紹

2022-08-10 04:21:12 字數 980 閱讀 9204

jdk1.8引入的新成員,以宣告式方式處理集合資料.

將基礎操作鏈結起來,完成複雜的資料處理流水線.

提供透明的並行處理.

從支援資料處理操作的源生成的元素序列.

資料處理操作:流的資料處理功能類似於資料庫的操作.以及函式式程式語言的常用操作.如filter,map,reduce,find,match,sort等.流操作可以順序執行,也可並行執行.

源:流會使用乙個提供資料的源,這些源可以是陣列,集合,或輸入輸出資源.注意:從有序集合生成的流會保留原有順序,由列表生成的流,其順序也與列表一致.

時間與空間:集合是空間的元素儲存.流是時間維度的元素生成.

流只能遍歷一次.

與使用迭代器對集合進行顯示迭代不同,流的迭代都是在背後進行的.

資料來源---->中間操作---->終端操作

無狀態操作: filter/map/peek等

有狀態操作: dictinct/sorted/limit等

非短路操作: foreach/collect/count等

短路操作: anymatch/findfirst/findany等

中間操作(無狀態)

中間操作(有狀態)

終端操作(短路)

終端操作(非短路)

過濾(filter)

對映(map)

扁平化(flatmap)

遍歷(peek)

去重(distinct)

跳過(skip)

截斷(limit)

排序(sorted)

所有匹配(allmatch)

任意匹配(anymatch)

不匹配(nonematch)

查詢首個(findfirst)

查詢任意(findany)

遍歷(foreach)

歸約(reduce)

最大值(max)

聚合(collect)

最小值(min)

計數(count)

光流基本介紹

光流的概念是gibson在1950年首先提出來的。它是空間運動物體在觀察成像平面上的畫素運動的瞬時速度,是利用影象序列中畫素在時間域上的變化以及相鄰幀之間的相關性來找到上一幀跟當前幀之間存在的對應關係,從而計算出相鄰幀之間物體的運動資訊的一種方法。一般而言,光流是由於場景中前景目標本身的移動 相機的...

使用neo4j neo4j基本介紹

neo4j的基礎介紹請參考已經很詳細了。這裡我只記錄我希望記錄的。提取碼 59og window下安裝很簡單,解壓後執行兩個命令 保證已經安裝了jdk8 1.windows下安裝neo4j服務,進入bin目錄下,執行neo4j install service提示neo4j服務安裝成功 mac下應該不...

HTML文件流與元素型別基本介紹

常見預設行元素型別的標籤主要有span strong,em等。其主要特點如下 不可設定元素寬,高相關屬性。預設寬高為自身所包內容的寬高度 高度主要由line height決定 margin外邊距只對左,右,下方向生效。padding內邊距只對左,右方向生效。與其他行元素 包括行內塊元素 在同一行 與...