public static void main(String[] args) {
List<UserTest> list1 = Arrays.asList(
new UserTest(1l,"张三",18),
new UserTest(2l,"李四",19),
new UserTest(3l,"王五",20),
new UserTest(4l,"赵六",30)
);
List<UserTest> list2 = Arrays.asList(
new UserTest(1l,"张三",18), new UserTest(2l,"李四",29), new UserTest(null,"田七",30)
);
//创建
List<UserTest> collect1 = list2.stream().filter(s -> Objects.nonNull(s.getId())).collect(Collectors.toList());
//更新
List<UserTest> collect2 = list2.stream().filter(s -> Objects.isNull(s.getId())).collect(Collectors.toList());
//取出传递过来集合的ID
List<Long> collect = list2.stream().filter(s -> s.getId() != null).map(UserTest::getId).collect(Collectors.toList());
//取出删除的数据
List<UserTest> collect3 = list1.stream().filter(s -> !collect.contains(s.getId())).collect(Collectors.toList());
System.out.println(collect1);
System.out.println(collect2);
System.out.println(collect3);
}
@Data
@AllArgsConstructor
@NoArgsConstructor
static
class UserTest {
Long id ;
String name;
int age;
}
[RecommendServiceServiceImpl.UserTest(id=1, name=张三, age=18), RecommendServiceServiceImpl.UserTest(id=2, name=李四, age=29)]
[RecommendServiceServiceImpl.UserTest(id=null, name=田七, age=30)]
[RecommendServiceServiceImpl.UserTest(id=3, name=王五, age=20), RecommendServiceServiceImpl.UserTest(id=4, name=赵六, age=30)]