我正在维护一个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(使用前将#替换为@)