java8 listuser lists liststring codes; 其中user 分别有两个属性codename排除掉codes中已存在的user
可以使用Java 8的Stream API来实现排除掉codes中已存在的user。
首先,我们可以将codes列表转换为一个Set,以便快速查找codes中是否存在某个code。然后,使用Stream的filter操作筛选出不在codes中的user。
以下是代码示例:
import java.util.*;
class User {
private String code;
private String name;
public User(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public String getName() {
return name;
}
}
public class Main {
public static void main(String[] args) {
List<User> users = new ArrayList<>();
users.add(new User("001", "Alice"));
users.add(new User("002", "Bob"));
users.add(new User("003", "Charlie"));
List<String> codes = new ArrayList<>();
codes.add("001");
codes.add("003");
Set<String> codeSet = new HashSet<>(codes);
List<User> filteredUsers = users.stream()
.filter(user -> !codeSet.contains(user.getCode()))
.toList();
for (User user : filteredUsers) {
System.out.println(user.getCode() + " - " + user.getName());
}
}
}
输出结果为:
002 - Bob
``
原文地址: https://www.cveoy.top/t/topic/iBa0 著作权归作者所有。请勿转载和采集!