我有一个通用的arraylist对象,在这里我想要删除一些元素。问题是当我用for循环迭代列表时,却不能做一个remove()' s的简单序列,因为元素在每次移除后都会发生变化。怎么在通用的arraylist中删除项目元素?
4 回答
qq_笑_17
TA贡献1818条经验 获得超7个赞
使用Iterator移除元素
如:
Iterator itr = list.iterator(); String strElement = ""; while(itr.hasNext()){ strElement = (String)itr.next(); if(strElement.equals("2")) { itr.remove(); }
明月笑刀无情
TA贡献1828条经验 获得超4个赞
如果在ArrayList中有你想要删除的对像,你要使用:
mArrayList.remove(object);
或者使用 Iterator来删除对象:
while(iterator.hasNext()){ if(iterator.next() == some condition for removal){ iterator.remove(); } }
紫衣仙女
TA贡献1839条经验 获得超15个赞
创建一个单独的ArrayList数据索引,以脱离原来的ArrayList,然后通过for循环遍历删除那些元素。
ArrayList<Myobj> arr = new ArrayList<Myobj>(); for (Myobj o : arr){ arr.remove(arr.indexOf(o)) }
添加回答
举报
0/150
提交
取消