【发布时间】:2013-03-16 01:01:52
【问题描述】:
我正在尝试按开始时间排序时间跨度列表(表示为具有开始时间和结束时间的 Time[] 数组)。我正在尝试使用以下嵌套循环来执行此操作:
for (Time[] span : workingList){
Time[] compareTo = workingList.get(0);
for (Time[] inSpan : workingList){
if (inSpan[0].before(compareTo[0])){
compareTo = inSpan;
}
}
workingList.remove(compareTo);
toReturn.add(compareTo);
}
}
但它在for (Time[] span : workingList) 行(最上面的那个)上抛出了一个java.util.ConcurrentModificationException。我以前从未见过这个异常,有人可以向我解释它的含义和原因。
我也愿意为此提供更好的算法建议。
【问题讨论】:
-
供将来参考:当您对异常有疑问时,您可以随时查阅文档。如果您在 Google 上搜索“Java 7 ConcurrentModificationException”,第一个结果会将您带到文档。如果您阅读该页面顶部的概述,它会解释这个确切的场景。
标签: java