List<String> l = new ArrayList<String>();
l.add("aw");
l.add("a");
l.add("aw");
l.add("wa");
l.add("a");
l.add("aW");
l.add("ac");
l.add("a");
l.add("aW");
l.add("a");
l.add("aq");
l.add("a");
当有这样的一个集合
我们一遍查找"a"一遍删除“a”
会删除所有的存在的"a"
List<String> l = new ArrayList<String>();
l.add("aw");
l.add("a");
l.add("aw");
l.add("wa");
l.add("a");
l.add("aW");
l.add("ac");
l.add("a");
l.add("aW");
l.add("a");
l.add("aq");
l.add("a");
System.out.println(l.size());
for (int i = 0;i<l.size();i++) {
if(l.get(i).equals("a"))
l.remove(i);
for(String query:l)
System.out.println(query+"---"+i);
}
以下的代码在循环集合的时候去掉元素会造成去掉的元素不及时有的去掉不了
for (int i = 0;i<l.size();i++)
if(l.get(i).equals("a"))
index.add(i);
for (int i = 0; i < index.size(); i++)
l.remove(i);
System.out.println(l.size());
能够完美的解决问题

本文探讨了在Java中使用ArrayList时,如何正确地遍历并删除特定元素的问题。通过对比两种不同方法的效果,展示了直接在遍历过程中删除元素可能导致的问题,并提供了一个可行的解决方案。
3413

被折叠的 条评论
为什么被折叠?



