JAVA技(jì)術(shù)
  當前位置:首頁 > 技(jì)術(shù)支持 > JAVA技(jì)術(shù)
Java中stream的(de)簡單使用(yòng)≤©λ
發布時(shí)間(jiān):2019-09-27 浏覽:30​€£15次
  

在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è)。

 附件(jiàn):  1、 code.png(15k)  
 
    
 
 
版權所有(yǒu) © 2005-202ε₹×4 南昌億雲信息技術有限公司 京ICP證000000号  皖公網安備 34019202000659号≠♠$ 
地(dì)址:安徽省合肥市(shì)蜀山(sh™Ω‌↑ān)區(qū)望江西(xī)路(lù)69号西(xī)湖(hú)國(gu♠≤¶σó)際廣場(chǎng) 電(diàn)話(huà):0551-64935878 郵箱:admi•✘n@ajsoft.cn