在Java8中,出現(xiàn)了(le)stream流的(de)概念。ε♠我個(gè)人(rén)認為(wèi),流的(de)使§α用(yòng)可(kě)以幫助我們更好(hǎ♦•↓πo)的(de)對(duì)數(shù)據集合進行(§₽≠σxíng)叠代。
下(xià)面,先簡單看(kàn)一(yī)下(xià)普通(tōng)γ"✘for循環和(hé)stream流的(d♣₹™e)代碼。

輸出結果:
[2, 4]
[2, 4]
可(kě)以看(kàn)出,對(duì)于stream流的(↓→÷φde)使用(yòng),有(yǒu)時(shí)是(Ωshì)可(kě)以簡化(huà)我們代碼的(de)複雜(z φΩ≥á)度,并且配合lambda表達式,可($>kě)以讓代碼更加容易被人(rén)理(lǐ)解。
下(xià)面簡單介紹一(yī)下(xià)Java中st™•₩ream流的(de)使用(yòng):
1.創建stream流
List集合創建創建:調用(yòng)List的(de)stream方法即可α±σ(kě),如(rú) list.stream()
數(shù)組的(de)創建方式為(wèi):通(tōng)過Arr₩₹ays.stream()傳入數(shù)組即可(kě),如(rú):Arr✔<&ays.stream(new Integer[]{1,2}β≥♥)
注:stream流被創建出來(lái)之後隻能(nén÷±g)被使用(yòng)一(yī)次,如(r≤€×ú)需再次循環需要(yào)再次創建!
2. 常用(yòng)方法介紹:
流的(de)方法被分(fēn)為(wèi)中間(jiān)操作(zuò)和(π₽♥hé)終端操作(zuò),顧名思義,中間(j↑↑±iān)操作(zuò)是(shì)指調用(yòng)方法後生(s×φhēng)成新的(de)流,可(kě)以繼續執行(xíng)操作÷✔∑(zuò),而終端操作(zuò)則是(shì)結束流的(de)使用"×(yòng)。
中間(jiān)操作(zuò):
1.filter 過濾掉不(bù)符合的(de)數(shù)據
2.limit 隻取前x條數(shù)據
3.skip 跳(tiào)過(删除)x條數(shù)據
4.distinct 去(qù)重複±☆數(shù)據
5.sorted 排序
6.map 對(duì)數(shù)據重≠∞¶整,生(shēng)成新的(de)數(shù)據流(如(rú)何γσ從(cóng)用(yòng)戶集合流中取出用(yòng)戶年(nián)→"✘齡作(zuò)為(wèi)新的(de)流)
終端操作(zuò):
1.count 統計(jì)數(shù)據數(shù)量φ↑λ£
2.forEach 對(duì)流中每個(g•è)數(shù)據都(dōu)執行(xíng)傳入的(de)方法
3.anyMatch 至少(shǎo)一(yī)個(gè&β↓)匹配,返回bool
4.allMatch 匹配所有(yǒu),返回bool
5.collect 可(kě)以傳入集合中的(de)常用(yòng)方法•$,例如(rú):Collector.toList()将流€轉回集合,Collector.groupingBy()将流中數(♣•shù)據分(fēn)組
6.reduce 進行(xíng)歸約操作(zuò),例如(rúΩ)求和(hé)等
今天就(jiù)先做(zuò)了(le)一(yī)下(xià₹$•)Java中stream流的(de)簡單使用(yò✘★×ng)介紹,謝(xiè)謝(xiè)。
|