解决方案 »

  1.   

    这个是map的遍历问题,使用for循环时,在循环中删除元素会破坏循环列表,有可能抛异常出来的。
    使用Iterator 就可以了。

    List<String> removeKeys=new ArrayList<String>();
    for (Entry<String, Object> entry : getMap().entrySet()) {
    if(value.equals(entry.getValue())){
    removeKeys.add(entry.getKey());  //  这里如果直接删的话,整个map的遍历将报错
    }
    }
    for (String rmKey : removeKeys) {
    getMap().remove(rmKey);
    }
    改为如下形式Iterator it = getMap().keySet().iterator();
    Map.Entry entry = null;
    while(it.hasNext()) {
    entry = (Entry) it.next();
    if (value.equals(entry.getValue())) {
    it.remove();
    }
    }
     楼主试试效果
      

  2.   

    Collections.synchronizedMap(new HashMap<String, Integer>())这个是实现一个线程安全的hashMap,但是你的mapobj是普通的hashmap,改为map接口或者强转一下。
      

  3.   

    感谢蜗牛-大哥再次的相助!!
    感谢方老师再次的亲临指导!!提点,培养!
    感谢赵4赵老师的百忙中的亲自拔擢!!
    最后,感谢___________小P的前来捧场!!!!(再有一年的时间,所有的Java技术,可能我都会懂了)
    有CSDN!!有CSDN精神!!!!!!有祖国软件工程屌丝,有祖国软件工程事业,最美丽,最壮丽的信息工程,上帝学习的工程专业,成为:世界NO.1!!!!