lizongbo 的 編程學習

          http://618119.com

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            23 Posts :: 1 Stories :: 78 Comments :: 0 Trackbacks

          在對一個map進行迭代遍歷并刪除一些符合條件的鍵值對的時候,容易出現

               java.util.ConcurrentModificationException 這個異常。
          Exception in thread "main" java.util.ConcurrentModificationException
           at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
           at java.util.HashMap$KeyIterator.next(HashMap.java:823)

          解決辦法如下:

          import java.util.*;

          public class TestMap {
            public TestMap() {
            }

            public static void main(String[] args) {
              java.util.Map m = new java.util.HashMap();
              m.put("aaa", "lizongbo ");
              m.put("bbb", " lizongbo");
              m.put("ccc", "lizongbo  ");
              m.put("ddd", "  lizongbo");
              m.put("eee", "lizongbo");
              m.put("fff", "lizongbo");
              m.put("ggg", "lizongbo");
              m.put("adads", "lizongbo");
              m.put("dffd", "lizongbo");
              m.put("dcxv", "lizongbo");
              m.put("lizongbo", "lizongbo");
              m.put("ert", "lizongbo");
              m.put("544", "lizongbo ");
              Iterator iterator = m.keySet().iterator();
              while (iterator.hasNext()) {
                String sessionId = (String) iterator.next();
                if ("ggg".equals(sessionId) || "lizongbo".equals(sessionId) ||
                    "544".equals(sessionId)) {
                  iterator.remove();       //這行代碼是關鍵。
                  m.remove(sessionId);
                }
              }
              System.out.println(m.get("ggg"));
              System.out.println(m.get("lizongbo"));
              System.out.println(m.get("544"));
            }

                  相關參考: http://ldfren.bosinet.com/archives/113.html
          http://gceclub.sun.com.cn/yuanchuang/week-14/iterator.html

          posted on 2006-02-27 10:12 lizongbo 的編程學習 閱讀(2229) 評論(0)  編輯  收藏 所屬分類: java 積累
          主站蜘蛛池模板: 尚志市| 汶川县| 石林| 长岭县| 阿瓦提县| 石阡县| 古田县| 堆龙德庆县| 武冈市| 西华县| 南乐县| 德兴市| 阳东县| 五大连池市| 南昌县| 依安县| 辽源市| 金堂县| 玉山县| 鹿泉市| 始兴县| 黎城县| 娄底市| 额敏县| 镇江市| 姚安县| 顺平县| 白河县| 商都县| 应城市| 红原县| 嘉义市| 闻喜县| 安仁县| 巴南区| 平利县| 旬阳县| 香河县| 固安县| 香格里拉县| 健康|