我创建了一个对象列表并向其中添加了人员:
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/