使用某些 Object 属性从 ArrayList 中删除对象

2024-02-04

我正在维护一个ArrayList的物体。我的对象结构是 ID、名称和其他一些详细信息。我需要删除一个具有某个 id 值(10)的对象,并且我不想迭代该列表。有什么解决办法吗?


使用 Java-8Collection#removeIf http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/util/Collection.java#Collection.removeIf%28java.util.function.Predicate%29

myList.removeIf(obj -> obj.id == 10);

对于 Java-7,您必须使用迭代器:

for(Iterator<MyType> iterator = myList.iterator(); iterator.hasNext(); ) {
    if(iterator.next().id == 10)
        iterator.remove();
}

请注意,列表迭代在任何情况下都是必要的。在 Java-8 中removeIf方法只是在内部执行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用某些 Object 属性从 ArrayList 中删除对象 的相关文章

随机推荐