日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java切片_ java中一个极其强悍的新特性Stream详解(非常实用)

發布時間:2024/9/27 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java切片_ java中一个极其强悍的新特性Stream详解(非常实用) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java8中有兩個非常有名的改進,一個是Lambda表達式,一個是Stream。如果我們了解過函數式編程的話,都知道Stream真正把函數式編程的風格引入到了java中。這篇文章由簡入繁逐步介紹Stream。

一、Stream是什么

從名字來看,Stream就是一個流,他的主要作用就是對集合數據進行查找過濾等操作。有點類似于SQL的數據庫操作。一句話來解釋就是一種高效且易用的數據處理方式。大數據領域也有一個Steam實時流計算框架,不過和這個可不一樣。別搞混了。

舉個例子吧,比如說有一個集合Student數據,我們要刪選出學生名字為“張三”的學生,或者是找出所有年齡大于18歲的所有學生。此時我們就可以直接使用Stream來篩選。當然了這只是給出了其中一個例子。Stream還有很多其他的功能。

Stream和Collection的區別就是:Collection只是負責存儲數據,不對數據做其他處理,主要是和內存打交道。但是Stream主要是負責計算數據的,主要是和CPU打交道。現在明白了吧。

二、Stream語法講解

Stream執行流程很簡單,主要有三個,首先創建一個Stream,然后使用Stream操作數據,最后終止Stream。有點類似于Stream的生命周期。下面我們根據其流程來一個一個講解。

1、前提準備

首先我們創建一個Student類,以后我們每次都是操作這個類

然后下面我們再創建一個StudentData類,用于獲取其數據

我們只需要把方法變成static類型的就可以了。

2、創建一個Stream

方式一:通過一個集合創建Stream

方式二:通過一個數組創建Stream

方式三:通過Stream.of

方式四:創建一個無限流

3、使用Stream操作數據

操作1:篩選和切片

操作2:映射

操作3:排序

4、終止Stream

操作1:匹配和查找

操作2:歸約

操作3:收集

stream基本的語法就是這樣,你會發現Stream就像是一個工具一樣,可以幫我們分析處理數據,極其的好用,但是目前還不知道其效率如何。根據網上一位大佬的內存時間分析,其實在數據量比較龐大的時候,Stream可以為我們節省大量的時間,數據量小的時候并不明顯。

總結

以上是生活随笔為你收集整理的java切片_ java中一个极其强悍的新特性Stream详解(非常实用)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。