java8的groupingby


可能很多人特別是剛畢業的應屆生多少都學過一點java8的東西,知道有很多的新特性

但是在實用性上總感覺沒地方用。。之前在找實習之前也學過一些東西,但是很快就因為沒使用而忘光了

這幾天在項目中大量使用,才得以回想起來:

這次主要說groupingby,在項目中往往會因為查詢效率的問題而批量查詢某些DO,但是在批量查詢之后

是需要對查詢到的list進行歸類的,比如一個DO類person,里面包含年齡,性別等屬性,這時候需要根據不同的

年齡段對這個list進行過濾,按照以前的方法,只能不斷的新建list或者需要自己一個個手動過濾出年齡放在map當中,

但是在java8里面使用groupingby是很方便的,例如根據年齡過濾只需要

//根據id批量查詢list

List<Person> list = getByPersonId(List<String> ids) 

Map<int,List<Person>> map = list.stream.collect(Collectors.groupingby(Person::getAge))

這樣得到的map就是根據年齡過濾好的map其中map的key是年齡,value是根據年齡過濾好的list

 


免責聲明!

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



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