- 场景一:
两个集合对象根据某个条件过滤
解决方案:
public class Test {
public static void main(String[] args){
User user1 = new User("21","zhangsan");
User user2 = new User("21","lisi");
User user3 = new User("22","wangwu");
User user4 = new User("23","zhaoliu");
ArrayList<User> users1 = new ArrayList<>();
users1.add(user1);
users1.add(user3);
ArrayList<User> users2 = new ArrayList<>();
users2.add(user2);
users2.add(user4);
List<User> newList = new ArrayList<User>();
for(User user1: users1){
boolean flag = true;
for(User user2: users2){
if(user1.getUser().equals(user2.getUser())){
flag = false;
break;
}
}
if(flag){
newList.add(user1);
}
}
System.out.println(newList);
}
}
class User{
public User(String user,String age){
this.age = age;
this.user = user;
}
String user;
String age;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"user='" + user + '\'' +
", age='" + age + '\'' +
'}';
}
}
- 场景二:
一个数据过滤集合,一个对象集合
解决方案:
List<User> userCommonList = userList.stream().filter(a -> !a.getUser().equals("21")).collect(Collectors.toList());