網站首頁 編程語言 正文
java.util.stream.Collectors
目錄
java.util.stream.Collectors
1. toList
2. toSet
3. toCollection
4. counting
5. summingInt
6. averagingInt
7. summarizingInt
8. joining
9. minBy
10. maxBy
11. reducing
12. collectingAndThen
13. groupingBy
14. partitioningBy
1. toList
返回類型:List<T> ;
用途:用于把流中所有項目收集到一個 List;
示例:
List<Dish> dishes = menuStream.collect(toList());
2. toSet
返回類型:Set<T> ;
用途:用于把流中所有項目收集到一個 Set,刪除重復項;
示例:
Set<Dish> dishes = menuStream.collect(toSet());
3. toCollection
返回類型:Collection<T> ;
用途:用于把流中所有項目收集到給定的供應源創建的集合;
示例:
Collection<Dish> dishes = menuStream.collect(toCollection(), ArrayList::new);
4. counting
返回類型:Long ;
用途:用于計算流中元素的個數;
示例:
long howManyDishes = menuStream.collect(counting());
5. summingInt
返回類型:Integer ;
用途:用于對流中項目的一個整數屬性求和;
示例:
int totalCalories = menuStream.collect(summingInt(Dish::getCalories));
6. averagingInt
返回類型:Double ;
用途:用于計算流中項目 Integer 屬性的平均值。
示例:
double avgCalories = menuStream.collect(averagingInt(Dish::getCalories));
7. summarizingInt
返回類型:IntSummaryStatistics ;
用途:用于收集關于流中項目 Integer 屬性的統計值,例如最大、最小、總和與平均值;
示例:
IntSummaryStatistics menuStatistics=menuStream.collect(summarizingInt(Dish::getCalories));
8. joining
返回類型:String ;
用途:用于連接對流中每個項目調用 toString 方法所生成的字符串;
示例:
String shortMenu = menuStream.map(Dish::getName).collect(joining(", "));
9. minBy
返回類型:Optional<T> ;
用途:用于一個包裹了流中按照給定比較器選出的最小元素的 Optional,或如果流為空則為 Optional.empty();
示例:
Optional<Dish> lightest = menuStream.collect(minBy(comparingInt(Dish::getCalories)));
10. maxBy
返回類型:Optional<T> ;
用途:用于一個包裹了流中按照給定比較器選出的最大元素的 Optional,或如果流為空則為 Optional.empty()。
示例:
Optional<Dish> fattest = menuStream.collect(maxBy(comparingInt(Dish::getCalories)));
11. reducing
返回類型:歸約操作產生的類型 ;
用途:用于從一個作為累加器的初始值開始,利用 BinaryOperator 與流中的元素逐個結合,從而將流歸約為單個值;
示例:
int totalCalories = menuStream.collect(reducing(0, Dish::getCalories, Integer::sum));
12. collectingAndThen
返回類型:轉換函數返回的類型 ;
用途:用于包裹另一個收集器,對其結果應用轉換函數;
示例:
int howManyDishes = menuStream.collect(collectingAndThen(toList(), List::size));
13. groupingBy
返回類型:Map<K, List<T>> ;
用途:根據項目的一個屬性的值對流中的項目作問組,并將屬性值作為結果 Map 的鍵;
示例:
Map<Dish.Type,List<Dish>> dishesByType = menuStream.collect(groupingBy(Dish::getType));
14. partitioningBy
返回類型:Map<Boolean,List<T>> ;
用途:根據對流中每個項目應用謂詞的結果來對項目進行分區;
示例:
Map<Boolean, List<Dish>> vegetarianDishes =
menuStream.collect(partitioningBy(Dish::isVegetarian));
(注:本文章參看自《Java 8 實戰》厄馬(Raoul-Gabriel Urma) / 弗斯科(Mario Fusco) / 米克羅夫特(Alan Mycroft))
原文鏈接:https://blog.csdn.net/m0_59259076/article/details/122814590
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-03-30 C語言代碼實現猜數字游戲_C 語言
- 2022-04-23 C語言實現字符串轉浮點函數的示例_C 語言
- 2022-06-21 Android?Studio實現登錄界面功能_Android
- 2023-07-22 linux自動化運維之linux腳本自動操作redis數據
- 2022-11-14 .NET?Core?Web?APi類庫內嵌運行的方法_實用技巧
- 2023-05-08 Python隨機生成8位密碼的示例詳解_python
- 2022-05-18 ASP.NET?MVC自定義異常過濾器使用案例_實用技巧
- 2022-10-17 VSCode安裝Django插件后實現html語法提示的方法步驟_python
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支