最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解java8中的Stream數(shù)據(jù)流

 更新時間:2017年10月16日 08:44:13   作者:貝克田莊  
Stream使用一種類似用SQL語句從數(shù)據(jù)庫查詢數(shù)據(jù)的直觀方式來提供一種對Java集合運算和表達(dá)的高階抽象。接下來通過本文給大家分享java8中的Stream數(shù)據(jù)流知識,感興趣的朋友一起看看吧

Stream是java8引入的一個重度使用lambda表達(dá)式的API。Stream使用一種類似用SQL語句從數(shù)據(jù)庫查詢數(shù)據(jù)的直觀方式來提供一種對Java集合運算和表達(dá)的高階抽象。直觀意味著開發(fā)者在寫代碼時只需關(guān)注他們想要的結(jié)果是什么而無需關(guān)注實現(xiàn)結(jié)果的具體方式。這一章節(jié)中,我們將介紹為什么我們需要一種新的數(shù)據(jù)處理API、Collection和Stream的不同之處以及如何將StreamAPI應(yīng)用到我們的編碼中。

篩選重復(fù)的元素

Stream 接口支持 distinct 的方法, 它會返回一個元素(根據(jù)流所生成元素的 hashCode和equals方法實現(xiàn))的流。

例如,以下代碼會篩選出列表中所有的偶數(shù),并確保沒有 重復(fù)。

List<Dish> dishes = Dish.menu.stream()
.filter(Dish::isVegetarian)
.collect(Collectors.toList());

跳過指定數(shù)量的元素

Stream 支持 skip(n) 方法,返回一個扔掉了前n個元素的流。如果流中元素不足n個,則返回一 個空流。limit(n) 和 skip(n) 是互補的

List<Dish> dishSkip = Dish.menu.stream().filter(d -> d.getCalories() > 300).skip(2) //去掉符合要求的集合中的前2個元素后返回
.collect(Collectors.toList());
dishSkip.forEach(System.out::println);

map 操作

Stream 支持 map 方法,它會接受一個函數(shù)作為參數(shù)。這個函數(shù)會被應(yīng)用到每個元素上,并將其映 射成一個新的元素

List<String> list = st.skip(0).limit(2).map(s->s.toUpperCase()).collect(Collectors.toList());

元素求和

List<Integer> numbers = Arrays.asList(3,4,5,1,2);
int sum1 = numbers.stream().reduce(0,(a, b) -> a + b);
System.out.println(sum1);
int sum2 = numbers.stream().reduce(0,Integer::sum);
System.out.println(sum2);

最大值

int max = numbers.stream().reduce(0,Integer::max);
System.out.println(max);

最小值

//reduce不接受初始值,返回一個Optional對象(考慮流中沒有任何元素的情況)
Optional<Integer> min = numbers.stream().reduce(Integer::min);
min.ifPresent(System.out::println);

總結(jié)

以上所述是小編給大家介紹的java8中的Stream數(shù)據(jù)流,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java加載property文件配置過程解析

    Java加載property文件配置過程解析

    這篇文章主要介紹了java加載property文件配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Springboot如何通過yml配置文件為靜態(tài)成員變量賦值

    Springboot如何通過yml配置文件為靜態(tài)成員變量賦值

    這篇文章主要介紹了Springboot如何通過yml配置文件為靜態(tài)成員變量賦值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java實現(xiàn)一個達(dá)達(dá)租車系統(tǒng)的步驟詳解

    Java實現(xiàn)一個達(dá)達(dá)租車系統(tǒng)的步驟詳解

    這篇文章主要給大家介紹了利用Java實現(xiàn)一個達(dá)達(dá)租車系統(tǒng)的步驟,文中給出了詳細(xì)的實現(xiàn)思路和示例代碼,并在文末給出了完整的源碼供大家學(xué)習(xí)下載,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • 淺析springboot通過面向接口編程對控制反轉(zhuǎn)IOC的理解

    淺析springboot通過面向接口編程對控制反轉(zhuǎn)IOC的理解

    這篇文章主要介紹了springboot通過面向接口編程對控制反轉(zhuǎn)IOC的理解,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-08-08
  • springboot集成微軟teams的實例代碼

    springboot集成微軟teams的實例代碼

    Microsoft Teams 是一款基于聊天的智能團(tuán)隊協(xié)作工具,可以同步進(jìn)行文檔共享,并為成員提供包括語音、視頻會議在內(nèi)的即時通訊工具,今天給大家介紹springboot集成微軟teams的示例代碼,感興趣的朋友一起看看吧
    2022-01-01
  • java多線程學(xué)習(xí)之死鎖的模擬和避免(實例講解)

    java多線程學(xué)習(xí)之死鎖的模擬和避免(實例講解)

    下面小編就為大家?guī)硪黄猨ava多線程學(xué)習(xí)之死鎖的模擬和避免(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Spring Boot+Nginx實現(xiàn)大文件下載功能

    Spring Boot+Nginx實現(xiàn)大文件下載功能

    相信很多小伙伴,在日常開放中都會遇到大文件下載的情況,大文件下載方式也有很多,比如非常流行的分片下載、斷點下載;當(dāng)然也可以結(jié)合Nginx來實現(xiàn)大文件下載,在中小項目非常適合使用,這篇文章主要介紹了Spring Boot結(jié)合Nginx實現(xiàn)大文件下載,需要的朋友可以參考下
    2024-05-05
  • Spring?Boot?如何通過ServletRequestHandledEvent事件實現(xiàn)接口請求的性能監(jiān)控

    Spring?Boot?如何通過ServletRequestHandledEvent事件實現(xiàn)接口請求的性能監(jiān)控

    在Spring框架中,監(jiān)控接口請求的性能可以通過ServletRequestHandledEvent事件實現(xiàn),這篇文章給大家介紹Spring?Boot?如何通過ServletRequestHandledEvent事件實現(xiàn)接口請求的性能監(jiān)控,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • SpringBoot整合RestTemplate用法的實現(xiàn)

    SpringBoot整合RestTemplate用法的實現(xiàn)

    本篇主要介紹了RestTemplate中的GET,POST,PUT,DELETE、文件上傳和文件下載6大常用的功能,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Java注解方式之防止重復(fù)請求

    Java注解方式之防止重復(fù)請求

    這篇文章主要介紹了關(guān)于Java注解方式防止重復(fù)請求,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論

天柱县| 丰宁| 临朐县| 旺苍县| 武夷山市| 临澧县| 阿尔山市| 土默特右旗| 东莞市| 团风县| 即墨市| 象州县| 津南区| 秭归县| 晋州市| 江华| 佳木斯市| 松桃| 武义县| 同仁县| 恭城| 临城县| 新沂市| 博兴县| 那坡县| 大理市| 白银市| 壶关县| 曲沃县| 怀宁县| 泰顺县| 云霄县| 琼结县| 民勤县| 大埔县| 罗甸县| 青浦区| 福泉市| 嵊泗县| 姚安县| 青冈县|