Java Stream流之求和的實現(xiàn)
更新時間:2021年02月24日 15:09:55 作者:雪落南城
這篇文章主要介紹了Java Stream流之求和的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
BigDecimal:
BigDecimal bb =list.stream().map(Plan::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
int、double、long:
double max = list.stream().mapToDouble(User::getHeight).sum();
補充:java8-Stream流之數(shù)值函數(shù)(求和、最大值、最小值、平均值)
我就廢話不多說了,大家還是直接看代碼吧~
//todo stream流的使用 //todo filter:過濾操作;保留符合過濾條件的對象;這是一個中間操作;后面可以帶最終操作 //todo mapToInt: 將數(shù)據(jù)根據(jù)double類型來處理; public static void main(String[] args) { List<SalesOrder> list = createSalesOrder(); //獲取集合中城市為上海的數(shù)量 System.out.println("mapToInt獲取和:"+list.stream().filter(s -> s.getConsigneeCity().equals("上海")) .mapToInt(SalesOrder::getCreateUserId).sum()); //利用stream流中的函數(shù)獲取相關數(shù)值信息 IntSummaryStatistics summaryStatistics = list.stream().filter(s -> s.getConsigneeCity().equals("上海")) .mapToInt(SalesOrder::getCreateUserId).summaryStatistics(); System.out.println("summaryStatistics函數(shù)獲取數(shù)量:"+summaryStatistics.getCount()); System.out.println("summaryStatistics函數(shù)獲取平均值:"+summaryStatistics.getAverage()); System.out.println("summaryStatistics函數(shù)獲取最大值:"+summaryStatistics.getMax()); System.out.println("summaryStatistics函數(shù)獲取最小值:"+summaryStatistics.getMin()); System.out.println("summaryStatistics函數(shù)獲取和"+summaryStatistics.getSum()); } static List<SalesOrder> createSalesOrder(){ List<SalesOrder> list = new LinkedList<>(); SalesOrder salesOrder = new SalesOrder(); salesOrder.setCreateUserId(12); salesOrder.setConsigneeCity("上海"); list.add(salesOrder); salesOrder = new SalesOrder(); salesOrder.setConsigneeCity("上海"); salesOrder.setCreateUserId(24); list.add(salesOrder); salesOrder = new SalesOrder(); salesOrder.setConsigneeCity("北京"); salesOrder.setCreateUserId(18); list.add(salesOrder); salesOrder = new SalesOrder(); salesOrder.setConsigneeCity("深圳"); salesOrder.setCreateUserId(16); list.add(salesOrder); salesOrder = new SalesOrder(); salesOrder.setConsigneeCity("廣州"); salesOrder.setCreateUserId(30); list.add(salesOrder); salesOrder = new SalesOrder(); salesOrder.setConsigneeCity("杭州"); salesOrder.setCreateUserId(40); list.add(salesOrder); return list; }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
使用Java Servlet生成動態(tài)二維碼的實現(xiàn)步驟
在現(xiàn)代互聯(lián)網(wǎng)時代,二維碼廣泛應用于各個領域,包括支付、認證、信息傳遞等,在Web開發(fā)中,通過Java Servlet生成動態(tài)二維碼是一個常見的需求,本文將介紹如何使用Java Servlet結合Google的ZXing庫生成動態(tài)二維碼,需要的朋友可以參考下2023-11-11Java利用ITextPdf庫生成PDF預覽文件的具體實現(xiàn)
這篇文章主要給大家介紹了Java利用ITextPdf庫生成PDF預覽文件的具體實現(xiàn),文中通過代碼示例和圖文給大家介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-04-04