在Java中,如果遍历Map并移除单中的元素,如果使用的是非迭代器模式,非提示ConcurrentModificationException 异常。
实例代码:正确遍历Map元素和移除Map 元素方法
Map<String, Object> params = JSONObject.toJavaObject(entity, Map.class);
Iterator<Map.Entry<String, Object>> it = params.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, Object> entry = it.next();
String key = entry.getKey();
Object value = entry.getValue();
if(value instanceof String){
String str = String.valueOf(value);
if(StringUtils.isEmpty(str)){
it.remove();//使用迭代器的remove()方法删除元素
}
}
}
实例代码:正确遍历Map元素和错误移除Map 元素方法
Map<String, Object> params = JSONObject.toJavaObject(entity, Map.class);
Iterator<Map.Entry<String, Object>> it = params.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, Object> entry = it.next();
String key = entry.getKey();
Object value = entry.getValue();
if(value instanceof String){
String str = String.valueOf(value);
if(StringUtils.isEmpty(str)){
params.remove(key)// 会提示ConcurrentModificationException 异常
}
}
}
最后
以上就是健忘唇彩最近收集整理的关于Java 遍历Map元素并移除符合条件元素的全部内容,更多相关Java内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复