一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解java8中的Stream數據流

詳解java8中的Stream數據流

2021-01-19 10:01貝克田莊 Java教程

Stream使用一種類似用SQL語句從數據庫查詢數據的直觀方式來提供一種對Java集合運算和表達的高階抽象。接下來通過本文給大家分享java8中的Stream數據流知識,感興趣的朋友一起看看吧

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

篩選重復的元素

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

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

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

跳過指定數量的元素

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

?
1
2
3
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 方法,它會接受一個函數作為參數。這個函數會被應用到每個元素上,并將其映 射成一個新的元素

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

元素求和

?
1
2
3
4
5
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);

最大值

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

最小值

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

總結

以上所述是小編給大家介紹的java8中的Stream數據流,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/clovejava/archive/2017/10/15/7674822.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人性生交小说免费看 | 亚洲AV永久无码精品澳门 | 沉香如屑西瓜视频免费观看完整版 | 美国一级大黄大色毛片 | 欧美大片一级片 | 精品在线观看一区 | 操美女bb| 五月天国产视频 | 国产女乱淫真高清免费视频 | 国产在线伊人 | 狠狠色伊人亚洲综合网站色 | 香蕉久久一区二区三区啪啪 | 国产精品亚洲综合第一区 | 视频一本大道香蕉久在线播放 | 日韩免费高清专区 | 青草视频在线观看免费资源 | 久久视热频国产这里只有精品23 | 精品亚洲一区二区三区在线播放 | 日韩在线观看网站 | 国内精品视频九九九九 | 日本高清视频一区二区 | 金发美女与黑人做爰 | 成人福利在线观看 | 99久久免费国内精品 | 91理论片午午伦夜理片久久 | 99精品视频一区在线观看miya | 精品国语对白精品自拍视 | 四虎免费在线观看视频 | 日韩亚洲人成网站在线播放 | 国产在线成人精品 | 呜嗯啊野战h呻吟男男双性 污小说在线阅读 | 国产精品免费小视频 | 亚洲AV 中文字幕 国产 欧美 | 幻女free性俄罗斯第一次摘花 | 视频一区二区国产 | 小草观看免费高清视频 | 爽好大快深点一视频 | 国产成人啪精品午夜在线播放 | 操日日| 精品久久一区 | 欧美日韩在线观看区一二 |