场景一: 两个集合对象根据某个条件过滤 解决方案:
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 ( ) ) ;