stream根据条件过滤List<Object>
List<String> filterUser= new ArrayList<>();
filterUser.add("张三");
List<User> 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间交集、并集、差集