前言
最近小编刚接触到java8特性,在不知道有java8特性的时候,一个for循环套一个for循环,自从接触大java8,为自己省了很多事,节省了很多代码量.
java8根据list某一属性去重
//根据id去重
examRoomModelLists = examRoomModelLists.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(
// 利用 TreeSet 的排序去重构造函数来达到去重元素的目的
// 根据firstName去重
() -> new TreeSet<>(Comparator.comparing(ExamRoomModel::getId))), ArrayList::new));
java8过滤StudentExamState=0的数据
em.setNoLoginExamineeCount((examinee.stream().map(ExamineeEntity::getStudentExamState).filter(x ->
x == 0).collect(Collectors.toList())).size());
}
java8过滤ExamRoomStudentCount=0的数据
List<ExamRoomModel> filterList = examRoomModelLists.stream().filter(ExamRoomModel ->
!Objects.equals(ExamRoomModel.getExamRoomStudentCount(), 0)).collect(Collectors.toList());
是不是很方便,换成以前过滤去重不知道要写多少横代码,现在一行解决.