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());
能够完美的解决问题