我想在主要道路上添加一些分支道路,因此循环所有道路,向主要道路添加一条道路
每当main_road
改变而不是roads
时,但仍然会抛出异常,为什么main_road
的状态会导致这种情况?
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$SubList.checkForComodification(ArrayList.java:1169)
at java.util.ArrayList$SubList.get(ArrayList.java:993)
这是我的代码:( ps:findPosition(final,final))
// First, chose the main road
int max = 0;
List<TrackPoint> main_road = null;
for (List<TrackPoint> road : roads) {
if (road.size() > max) {
max = road.size();
main_road = road;
}
}
roads.remove(main_road);
// insert branch to main road
for (List<TrackPoint> road : roads) {
int head_insert_position = findPosition(road.get(0), main_road);
main_road.addAll(head_insert_position+1, road);
}