java8 對List<對象>獲取某個屬性並去重


  java8 的函數式編程簡直不要太順暢,可大幅度簡化代碼,例如下面場景:

  List保存若干對象,需要過濾出對象的部門屬性,並且去重組成list

  在java8之前,這樣的需求需要循環list,並使用map存儲結果,現在只需要一行代碼,如下:

   List<PersonInfo> list=mapper.getPersonInfoList();//此處是你需要過濾的對象list

List<String> entitySet=list.stream().map(PersonInfo::getDepartment).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());

1、map方法,將對象PersonInfo 的department屬性組織成list
2、stream().distinct():將list中的值去重

這樣一行代碼就可以過濾出需要的結果,對於代碼重構優化有很大效率提升


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM