我正在维护一个 ArrayList 对象。我的对象结构是 Id、名称和其他一些细节。我需要删除一个具有某些 id 值 say(10) 的对象,我不想遍历列表。有什么解决办法吗? 原文由 django 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 Java-8 Collection#removeIf 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 方法中,它只是在内部执行。 原文由 Tagir Valeev 发布,翻译遵循 CC BY-SA 3.0 许可协议
使用 Java-8
Collection#removeIf
使用 Java-7,您将不得不使用迭代器:
请注意,列表迭代在任何情况下都是必要的。在 Java-8
removeIf
方法中,它只是在内部执行。