集合遍历报错问题求解

Error:class java.util.ConcurrentModificationException
代码:
public String getId(Integer id) {
Set kset = this.map.keySet();
Iterator it = kset.iterator();
String aId = "";
while (it.hasNext()) {
String ks = (String)it.next();
if (id.intValue() == ((Integer)this.map.get(ks)).intValue()) {
aId = ks;
break;
}
}
return aId;
}
请问下这段代码哪里的问题报出错误:
java.util.HashMap$HashIterator.nextEntry(HashMap.java:923)
java.util.HashMap$KeyIterator.next(HashMap.java:957)
如何改正?
求解惑,不胜感激!

java.util.ConcurrentModificationException
在迭代的过程中,不能修改结合本身,如果你是多线程访问同一个集合,需要在循环外面先同步。