【发布时间】:2011-08-25 22:38:09
【问题描述】:
这个小烦恼让我失眠了一个小时,我不明白为什么。
我有一个 ArrayList 数组,我想对其进行迭代并有条件地删除项目。这是我的第一次尝试:
for (int i = 0; i < array.size(); i++) {
if (array.get(i) == conditionMet) array.remove(i);
}
那没有用。以下是:
for (Iterator<T> i = array.iterator(); i.hasNext();) {
if (i.next() == conditionMet) i.remove();
}
为什么?
【问题讨论】:
-
loop on list with remove 的可能重复项
-
你应该包含你得到的异常,很可能是“线程中的异常“main”java.lang.IndexOutOfBoundsException”。
标签: java collections