Java 遍历Map元素并移除符合条件元素
小虾米
阅读:781
2021-03-31 12:55:31
评论:0
在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 异常
}
}
}
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。