我的图表保留了一组顶点,每个顶点都有数字、相邻顶点的列表以及是否访问过的指示符。我的代码必须反转图形的边缘,但它会抛出 CurrentModificationException。有什么问题?
public void reverse() {
Vertex initialVertex = vertices.get(1);
reverseVertex(initialVertex);
}
public void reverseVertex(Vertex initialV) {
initialV.setVisitedForReverse(true);
ArrayList<Vertex> neighbors = new ArrayList<Vertex>();
for( Vertex v : initialV.getAdjacent()) {
if( !v.isVisitedForReverse() ) {
neighbors.add(v);
v.getAdjacent().add(initialV);
initialV.getAdjacent().remove(v);
}
}
for(Vertex vert : neighbors)
reverseVertex(vert);
}