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 的編程學習 閱讀(2233) 評論(0)  編輯  收藏 所屬分類: java 積累
          主站蜘蛛池模板: 江陵县| 鄢陵县| 海门市| 三穗县| 中宁县| 利辛县| 东乌| 兖州市| 新源县| 通化市| 聊城市| 衡东县| 六枝特区| 鄂托克旗| 博野县| 壶关县| 延长县| 平遥县| 长春市| 同仁县| 刚察县| 修文县| 南雄市| 额济纳旗| 黄大仙区| 新邵县| 文化| 临武县| 迭部县| 肇庆市| 澳门| 铁岭市| 通榆县| 湖北省| 历史| 土默特右旗| 甘泉县| 洛隆县| 景宁| 宝坻区| 永康市|