我的圖保留了一組頂點,每個頂點都有數字,它的相鄰頂點的列表以及指示器是否被訪問。我的代碼必須顛倒圖形的邊緣,但會拋出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);
}
我該如何解決? – user2081119 2013-02-26 10:03:08
試着避免在迭代它時及時修改集合。 – 2013-02-26 10:07:54