本帖最后由 银离子 于 2015-1-23 14:46 编辑
鄙人不才,请解释如下代码??
- import java.util.Iterator;
- import java.util.Set;
- import java.util.TreeMap;
- public class IterText {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- TreeMap<Integer, String> hm = new TreeMap<Integer, String>();
- hm.put(55, "a");
- hm.put(64, "b");
- hm.put(74, "c");
- hm.put(85, "d");
- hm.put(97, "e");
- Set<Integer> st = hm.keySet();//键集合
- Iterator<Integer> it = st.iterator();// 迭代器
- while (it.hasNext()) {
- int buf = it.next().intValue();
- if (buf == 74) {
-
- st.remove(buf);// st集合中的方法,使用此方法抛出java.util.ConcurrentModificationException 异常 请解释??????
- // it.remove();//st集合返回的迭代器,此方法不抛异常
- }
- }
- System.out.println(hm.size());
- Set<Integer> sst = hm.keySet();
- Iterator<Integer> itt = sst.iterator();// 新迭代器
- // 打印集合
- while (itt.hasNext()) {
- Integer i = itt.next();
- System.out.println(i + "=" + hm.get(i));
- }
- }
- }
复制代码 |