java 遍历集合的时候对集合进行操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 遍历集合的时候对集合进行操作相关的知识,希望对你有一定的参考价值。
例如我有一个HashMap类型的集合
for(int i : map.keySet())
map.remove(i);
这样对集合进行操作的时候就会出现异常
请问怎么样才能在遍历集合时候进行操作
因为我要进行一些元素的删除或者操作。
如果集合元素的个数发生变化,会造成原来的iterator发生越界遍历,或者遍历到不正确的元素,所以,建议你不要再遍历的时候删除或者增加元素,而是将要删除的元素的引用保存下来,然后最后一起删除 参考技术A 遍历的时候对集合进行并发操作本来就是不安全的, 如果一定要这么做就参考java api, 里面提供了线程安全的集合, 可以在遍历的同时就行修改操作 参考技术B 在你遍历的时候可以用一个 Set 暂存你要删除的 key,遍历完成之后再按照这个 Set 中的key进行删除。本回答被提问者采纳 参考技术C Map map=new HashMap();
map.put("1", "one");
map.put("2","two");
for(Object obj:map.keySet())
System.out.println( map.get(obj));
参考技术D Iterator<String> item = cacheManager.getCaches().iterator();
while (item.hasNext())
String str = item.next();
if (str.length()==0)
item.remove();
以上是关于java 遍历集合的时候对集合进行操作的主要内容,如果未能解决你的问题,请参考以下文章