java之将一个集合按照条件拆分成两个

前些天需要将学生根据年龄来划分不同分组的操作,于是有了以下操作:


目录

第一步:分组

第二步:测试:



分两次来利用流的过滤操作达成效果也是一样,但是需要操作两次流,消耗性能,这里通过收集器的分组功能一次性完成,代码比较优雅。

第一步:分组

Map<Boolean, List<Student>> preAvg = steady.stream()
.collect(Collectors.groupingBy(x -> x.getAge()>= 18));
List<Student> tr = preAvg.get(true);
List<Student> fa = preAvg.get(false);

第二步:测试:

请自行测试