<分区>
我对 Java 中的集合/迭代器有疑问。我正在执行迭代散列集中元素的代码,在使用后删除它们,但也删除被认为不需要在循环中迭代的元素。我还在循环中添加元素。这是一个代码示例:
Set<Integer> thisSet = new HashSet<Integer>();
// add elements into set
while (!thisSet.isEmpty()) {
int value = thisSet.iterator().next();
thisSet.remove(value);
// more remove and add operations
}
我选择哈希集是因为我认为循环中的删除操作会比使用列表时快很多。问题是统计数据告诉我,如果集合变大,从集合中轮询一个值实际上会占用很多时间(我假设是因为每次都创建一个迭代器?)。有人对如何改进这个有什么建议吗?
谢谢!