java - 如何从对象列表中删除那些id在另一个JAVA列表中给出的对象?

标签 java list

public class Person {
    private long id;
    private String name;
}
List<Person> persons= Arrays.asList(new Person(1,"Alex"),new Person(2,"Danny"),new Person(3,"Frank"));
List<Long>ids=Arrays.asList(1L,5L);

如何有效地从 id 位于 ids 列表中的人员列表中删除对象? 对我来说最好的方法是使用流。

最佳答案

您可以使用流过滤器根据您的条件过滤列表。

List<Person> filteredPersons = persons.stream()
                                      .filter(person -> !ids.contains(person.id))
                                      .collect(Collectors.toList());

这将是您开始使用 Streams 的好地方 https://dzone.com/articles/how-to-use-map-filter-collect-of-stream-in-java-8

关于java - 如何从对象列表中删除那些id在另一个JAVA列表中给出的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59459950/

相关文章:

java - 从 txt 文件中读取整数并存储到数组中

java - 从 Android Java 代码的 php Json 结果中删除结尾 [ 和 ]

java - Java中的可比实现

r - 使用 R 中的列表导入 .CSV

c - 在 C 编程中,我们如何初始化这个 int *goo,其中 goo 是图的边列表?

java - 公开绑定(bind)属性

Java OpenGL渲染许多三角形

python找到两个列表之间的差异

r - 通过命令从列表中找出最大数目

python - 在python中任意重新排序字典列表