我有以下代码:的Java并发修改
System.out.println(dislist.size());
for (int k = 0; k < 10; k++) {
System.out.println(k + dislist.get(k).first + dislist.get(k).second);
if (!dislist.get(k).first.equals(Nodename)) {
if (dislist.get(k).first.equals(myfirst) ||
dislist.get(k).first.equals(mysecond) ||
dislist.get(k).second.equals(myfirst) ||
dislist.get(k).second.equals(mysecond)) {
dislist.remove(k);
}
}
}
}
的问题是:打印在一开始明确表示,dislist.size()
是10 不过,我得到一个数组越界异常,告诉我列表的大小不超过6. 是的,我DID添加新的对象列表之前几行。 我想当循环开始尚未完成。 有没有办法强制Java(在同一个方法中)只有当列表中有10个对象时才启动循环?
如果你写'if(distlist.size()> 10){'你可能会更开心。 java不是透视。 – bmargulies
你得到ConcurrentModificaiton异常或ArrayOutOfBoundException ...你得到什么错误? – Jayamohan
ArrayOutofBound。 – user1862770