两种list求差集的方法
第一种: 两个UserInfo实体List, 一个全部用户集合List< UserInfo > allUser, 一个部分用户集合List< UserInfo > commentUser, 根据UserInfo中的UserID求差集,从allUser中得到剩下的一部分用户, 通过stream流和lamda表达式实现
public List<UserInfo> getNotComment(List<UserInfo> allUser,List<UserInfo> commentUser){
List<UserInfo> notCommentUser = allUser.stream()
.filter(notComment -> !commentUser.stream().map(all -> all.getUserId()).collect(Collectors.toList()).contains(notComment.getUserId()))
.collect(Collectors.toList());
return notCommentUser;
}
第二种: 两个String型List, 一个全部用户集合List< String > allUser, 一个部分用户集合List< String > commentUser, 通过从allUser中移除与commentUser相同的字符串实现
public List<String> getNotComment(List<String> allUser,List<String> commentUser){
allUser.removeAll(commentUser);
return allUser;
}
