在Lab2测试ConcreteVerticesGraph.java中的remove方法时,遇到了问题。该方法中需要删除一个点以及从该点发出的所有边,而在删除边的时候我一开始的做法是:
for(String t:v.getTargets().keySet()){
v.removeTarget(t);
}
注意Java的集合不能一边遍历一边删除,因此改为用迭代器遍历set:
Iterator<String> it = v.getTargets().keySet().iterator();
while(it.hasNext()) {
it.next();
it.remove();
}
即可通过测试。