ArrayList.remove 在调用为 Collection.remove 时给出不同的结果
此代码:
Collection<String> col = new ArrayList<String>();
col.add("a");
col.add("b");
col.add("c");
for(String s: col){
if(s.equals("b"))
col.remove(1);
System.out.print(s);
}
指纹:abc
同时这个:
ArrayList<String> col = new ArrayList<String>();
col.add("a");
col.add("b");
col.add("c");
for(String s: col){
if(s.equals("b"))
col.remove(1);
System.out.print(s);
}
指纹:ab
但是,它应该打印相同的结果...怎么了?