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中的值去重
這樣一行代碼就可以過濾出需要的結果,對於代碼重構優化有很大效率提升