stream流的中的筛选排序与截取
List<User> listUser = new ArrayList<>();
listUser.add(new User().setId(1).setName("张三").setAge(18));
listUser.add(new User().setId(2).setName("李四").setAge(25));
listUser.add(new User().setId(3).setName("王五").setAge(25));
listUser.add(new User().setId(3).setName("马六").setAge(31));
建立上述的实体作为测试实力使用
stream流的排序
listUser.stream().sorted(Comparator.comparing(User::getName)).collect(Collectors.toList());
## 在上述方法中也可以通过reversed()来取的逆排序
listUser.stream().sorted(Comparator.comparing(User::getName)。reversed()).collect(Collectors.toList());
stream流的筛选
//在stream使用筛选可以排除其中的无用数据并且速度更快
//在这里使用的是一个并行的parallelStream流 ,它可以让运算更快,但是他会影响流中数据的顺序
listUser.parallelStream().filter(x->Objects.nonNull(x.getId())).collect(Collectors.toList());
stream流的截取
//stream中的skip提供了一个操作忽略前x的数据
listUser.stream().skip(x).collect(Collectors.toList());
//limit则是保留x个位数的数据数据
listUser.stream().limit(x).collect(Collectors.toList());
//在实际的应用中出出现使用表中外部统计作为筛选条件的情况,这种情况下也可以使用这个方法来作为分页使用