java 8 list的stream操作 list中的對象中的某一個成員取出轉為該成員的list,以及對象過濾,篩選某個屬性后的成員


取成員屬性list

List<String> configList = codeEntityList.stream().map(t -> t.getName()).distinct().collect(Collectors.toList());

 

對象的過濾

list.stream().filter(body-> body.getId().equals(entity1.getId())).findAny().get();

 

 

//跟據某個屬性分組

Map<String, List<PersonData>> collect = list.stream().collect(Collectors.groupingBy(PersonData::getType));

 

 //根據某個屬性分組,匯總某個屬性

 Map<String, Integer> collect2 = list.stream().collect(Collectors.groupingBy(PersonData::getType,Collectors.summingInt(PersonData::getAge)));

 

 

//根據某個屬性添加條件過濾數據,

 list = list.stream().filter(u -> !u.getType().equals("訪客")).collect(Collectors.toList());

 

//判斷一組對象里面有沒有屬性值是某個值

 boolean add = list.stream().anyMatch(m -> "王五".equals(m.getName()));

 

 //取出一組對象的某個屬性組成一個新集合

List<String> names=list.stream().map(PersonData::getName).collect(Collectors.toList());

 

List<類> list; 代表某集合
 
//返回 對象集合以類屬性一升序排序
 
list.stream().sorted(Comparator.comparing(類::屬性一));
 
//返回 對象集合以類屬性一降序排序 注意兩種寫法
 
list.stream().sorted(Comparator.comparing(類::屬性一).reversed());//先以屬性一升序,結果進行屬性一降序
 
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()));//以屬性一降序
 
//返回 對象集合以類屬性一升序 屬性二升序
 
list.stream().sorted(Comparator.comparing(類::屬性一).thenComparing(類::屬性二));
 
//返回 對象集合以類屬性一降序 屬性二升序 注意兩種寫法
 
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二));//先以屬性一升序,升序結果進行屬性一降序,再進行屬性二升序
 
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二));//先以屬性一降序,再進行屬性二升序
 
//返回 對象集合以類屬性一降序 屬性二降序 注意兩種寫法
 
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二,Comparator.reverseOrder()));//先以屬性一升序,升序結果進行屬性一降序,再進行屬性二降序
 
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二,Comparator.reverseOrder()));//先以屬性一降序,再進行屬性二降序
 
//返回 對象集合以類屬性一升序 屬性二降序 注意兩種寫法
 
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二).reversed());//先以屬性一升序,升序結果進行屬性一降序,再進行屬性二升序,結果進行屬性一降序屬性二降序
 
list.stream().sorted(Comparator.comparing(類::屬性一).thenComparing(類::屬性二,Comparator.reverseOrder()));//先以屬性一升序,再進行屬性二降序<br><br><br>

 

 

 


免責聲明!

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



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