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.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>
上一篇:java 数组排序 Comparator


下一篇:java数组排序