软件构造笔记--Java删除集合中的所有元素

在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();
}

即可通过测试。

原文地址:https://www.cnblogs.com/shijiyuanaa/p/12545835.html