【发布时间】:2010-07-18 02:24:30
【问题描述】:
有人可以向我解释一下下面的代码有什么问题吗?
public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("1");
l.add("2");
l.add("3");
l.add("4");
for (int i = 0; i < l.size(); i++) {
if(l.get(i).equals("1"))
l.remove(l.get(i));
else
System.out.println(l.get(i));
}
}
给我一个 [3.4] 而不是 [2,3,4] 的输出 .. 我的 [2] 呢?我对 List 的这种行为感到困惑。如果有人能解释一下,那就太好了。。
提前致谢:)
【问题讨论】:
-
如果只能使用
l.remove(i),为什么还要使用l.remove(l.get(i))?
标签: java list collections arraylist