快速處理集合 | Java8 新特性 好用的 Stream 表達式


個人記錄
由於本人用的也不是很精通,所有做個記錄,方便查閱

快速處理集合 | Java8 新特性 好用的 Stream 表達式


好用在哪?

準備工作,

在這裏插入圖片描述


一、從List 對象獲取單個對象的某個字段的值

在這裏插入圖片描述

以上新的coinList就是list中每個AllCoinEntity對象的coin字段的值

二、List轉map

Map<String, Long> collect = coinList.stream().collect(Collectors.toMap(AllCoinEntity::getCoin, AllCoinEntity::getId));
得到的map即是以coin爲key,主鍵id爲value的map對象

三、排序

  • achievementList:爲成績集合
  • Achievement:成績實體
  • score分數爲BigDecimal類型
List<Achievement> achievement1 = achievementList.stream().sorted(Comparator.comparing(Achievement::getScore)).collect(Collectors.toList());//根據分數排序 -- 順序

List<Achievement> achievement2 = achievementList.stream().sorted(Comparator.comparing(Achievement::getScore).reversed()).collect(Collectors.toList());//根據分數排序 -- 倒序

注意:如果getScore方法裏面有空值,需提前判斷並設置爲"",不然會包空指針異常


可參考:

  • https://cloud.tencent.com/developer/article/1187831 Stream(上)
  • https://cloud.tencent.com/developer/article/1187833 Stream(下)
  • http://www.runoob.com/java/java8-streams.html 菜鳥教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章