我正在尝试按开始时间排序时间跨度列表(表示为具有开始时间和结束时间的 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);
}
}
但它java.util.ConcurrentModificationException
在线for (Time[] span : workingList)
上(最上面的那个)扔了一个。我以前从未见过这个异常,有人可以向我解释它的含义和原因。
我也愿意为此提供更好的算法建议。