<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Collectors.reducing總結

      Collectors.reducing總結

      1. 方法簽名 一個參數

      public static <T> Collector<T, ?, Optional<T>> reducing(BinaryOperator<T> op)
      

      參數說明

      • BinaryOperator op 歸集操作函數 輸入參數T返回T

      測試代碼

      我們這里實現一個簡單的求和功能,代碼如下

      //author: herbert 公眾號:小院不小 20210827
      	@Test
      	public void testReducingOne() {
      		List<Integer> testData = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
      		Optional<Integer> sum = testData.stream().collect(Collectors.reducing((prev, cur) -> {
      			System.out.println("prev=>" + prev + "cur=>" + cur);
      			return prev + cur;
      		}));
      		System.out.print(sum.get()); // 45 
      	}
      

      2. 方法簽名 兩個參數

      public static <T> Collector<T, ?, T> reducing(T identity, BinaryOperator<T> op)
      

      參數說明

      • T identity 返回類型T初始值
      • BinaryOperator op 歸集操作函數 輸入參數T返回T

      測試代碼

      我們這里實現一個簡單的求和并加上20功能,代碼如下

      //author: herbert 公眾號:小院不小 20210827
      	@Test
      	public void testReducingTwo() {
      		List<Integer> testData = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
      		Integer sum = testData.stream().collect(Collectors.reducing(20, (prev, cur) -> {
      			System.out.println("prev=>" + prev + "cur=>" + cur);
      			return prev + cur;
      		}));
      		System.out.print(sum); //65
      	}
      

      2. 方法簽名 三個參數

      public static <T, U> Collector<T, ?, U> reducing(U identity,Function<? super T, ? extends U> mapper,BinaryOperator<U> op)
      

      這個函數才是真正體現reducing(歸集)的過程。調用者要明確知道以下三個點

      1. 需要轉換類型的初始值
      2. 類型如何轉換
      3. 如何收集返回值

      參數說明

      • U identity 最終返回類型U初始值
      • Function<? super T, ? extends U> mapper 將輸入參數T轉換成返回類型U的函數
      • BinaryOperator<U> op 歸集操作函數 輸入參數U返回U

      測試代碼

      我們這里實現一個簡單數字轉字符串并按逗號連接的功能,代碼如下

      //author: herbert 公眾號:小院不小 20210827
      	@Test
      	public void testReducingThree() {
      		List<Integer> testData = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
      		String joinStr = testData.stream().collect(Collectors.reducing("轉換成字符串", in -> {
      			return in + "";
      		}, (perv, cur) -> {
      			return perv + "," + cur;
      		}));
      		System.out.print(joinStr); // 轉換成字符串,1,2,3,4,5,6,7,8,9
      	}
      

      4. 總結

      這個知識點很小,但在沒有徹底明白之前,對三個參數的調用特別糊涂。最主要的原因就是看到一堆 T R U 的泛型類型就不知道如何下手。歡迎大家關注我的公眾號一起收集開發中遇到的點滴知識

      公眾號:小院不小

      posted @ 2021-08-27 18:11  _herbert  閱讀(5617)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 夜夜躁日日躁狠狠久久av| 中文文字幕文字幕亚洲色| 亚洲高清国产拍精品5G| 中文无码人妻有码人妻中文字幕| 国产69精品久久久久777| 国产精品视频免费一区二区三区| 欧美国产精品啪啪| 亚洲第四色在线中文字幕| 天天色综网| 美女人妻激情乱人伦| 中文字幕av一区二区| 亚洲国产精品日韩在线| 欧美人与动交视频在线观看| 亚洲精品色一区二区三区| 国产亚洲一二三区精品| 亚洲精品成人片在线观看精品字幕 | 成年站免费网站看v片在线| 久久综合免费一区二区三区| 亚洲成在人线AV品善网好看| 成人av一区二区三区| 国产在线一区二区不卡| 国产区精品福利在线熟女| 久久国产精品不只是精品| 午夜福利在线永久视频| 亚洲一卡2卡三卡四卡精品| 光棍天堂在线手机播放免费| 日本一区二区三区在线播放| 日本一区二区三区东京热| 秋霞AV鲁丝片一区二区| 无套内内射视频网站| 强奷乱码中文字幕| 少妇久久久被弄到高潮| 亚洲蜜臀av乱码久久| 亚洲人成网站在线在线观看| 日日碰狠狠添天天爽超碰97| 99久久精品久久久久久婷婷| 青青草无码免费一二三区| 亚洲综合一区二区三区不卡| 人妻夜夜爽天天爽三区丁香花| 天天摸夜夜摸夜夜狠狠添| 国产精品青草久久久久福利99 |