java - 从 ArrayList 中删除具有特定值的项目

标签 java arraylist

我创建了一个对象列表并向其中添加了人员:

ArrayList<Person> peeps = new ArrayList<Person>(); 

peeps.add(new Person("112", "John", "Smith"));
peeps.add(new Person("516", "Jane", "Smith"));
peeps.add(new Person("114", "John", "Doe"));

我正在尝试弄清楚如何通过 ID 号从列表中删除此人。因此,如果我想删除 ID 号为 114 的人,但现在不在列表中,我该怎么办?

最佳答案

使用 Java8:

peeps.removeIf(p -> p.getId().equals("112"));

请注意,这等同于线性搜索,需要 O(n) 时间。如果此操作将频繁重复,建议使用 HashMap 以将速度提高到 O(1)

或者使用排序列表也可以解决问题,但需要 O(log n) 时间。

关于java - 从 ArrayList 中删除具有特定值的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29107398/

相关文章:

java - 使用 BufferedImage 序列化对象的 ArrayList

java - 在二叉树中分布 AND over OR(合取范式)

java - 按自定义对象的成员之一对 ArrayList 进行排序

java - 轴突框架 : Change processing order between @EventHandler and @EventSourcingHandler

java - 5 分钟安装 roo

java - Netbeans 错误 : "Could not add one or more tag libraries"

java - ArrayList 不使用重写的 equals

java - 如何将节点值设置为 Bean 并添加到 Beans ArrayList

java - 如何参数化这个原始 ArrayList

java - 如何在java中创建采用两种不同数据类型的数组列表或 vector