hash使用迭代器会出现什么错误
来源:9-4 HashMap与ConcurrentHashMap解析
杜小牧
2019-03-04
写回答
1回答
-
Jimin
2019-03-04
你好,你这里说的是对hashmap对象的迭代,还是hashmap某个方法使用迭代器?
通常如果只是读的话,其实很少会出问题,一般只有在迭代时进行更新操作,才有可能出现错误,但也要看实际写法,拿遍历hashmap举个例子:
第一种: 使用entrySet
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
第二种: 使用keySetMap map = new HashMap();
Iterator iter = map.keySet().iterator();
while (iter.hasNext()) {
Object key = iter.next();
Object val = map.get(key);
}(补充一下,第一种速度比第二种要快,因为第一种只要遍历一次)
00
相似问题