stream根据条件过滤List
List filterUser= new ArrayList<>();
filterUser.add("张三");
List userList = new ArrayList<>();
userList .add(new User("张三"));
userList .add(new User("李四"));

userList = userList .stream().filter(
item -> filterUser.contains(item.getName())//与filterUser中名字一样的数据会保留下来
).collect(Collectors.toList());

结果是:userList中只包含 "张三" 这个人的信息

filter中的条件为true代表当前元素会保留下来

 

lamb 表达式处理list 集合一般有filter 操作时,不用并行流parallelStream ,如果用的话可能会导致线程安全问题 判断对象要重写hash


 参考: Java Lambda 表达式-Steam之两个list间交集、并集、差集

 

你可能感兴趣的:(stream根据条件过滤List)