Java 遍曆Map時 刪除元素

來源:互聯網
上載者:User

package net.nie.test;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class HashMapTest {   private static Map<Integer, String> map=new HashMap<Integer,String>();       /**  1.HashMap 類映射不保證順序;某些映射可明確保證其順序: TreeMap 類    *   2.在遍曆Map過程中,不能用map.put(key,newVal),map.remove(key)來修改和刪除元素,    *   會引發 並發修改異常,可以通過迭代器的remove():    *   從迭代器指向的 collection 中移除當前迭代元素    *   來達到刪除訪問中的元素的目的。      *   */    public static void main(String[] args) {        map.put(1,"one");        map.put(2,"two");        map.put(3,"three");        map.put(4,"four");        map.put(5,"five");        map.put(6,"six");        map.put(7,"seven");        map.put(8,"eight");        map.put(5,"five");        map.put(9,"nine");        map.put(10,"ten");        Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();        while(it.hasNext()){            Map.Entry<Integer, String> entry=it.next();            int key=entry.getKey();            if(key%2==1){                System.out.println("delete this: "+key+" = "+key);                //map.put(key, "奇數");   //ConcurrentModificationException                //map.remove(key);      //ConcurrentModificationException                it.remove();        //OK             }        }        //遍曆當前的map;這種新的for迴圈無法修改map內容,因為不通過迭代器。        System.out.println("-------nt最終的map的元素遍曆:");        for(Map.Entry<Integer, String> entry:map.entrySet()){            int k=entry.getKey();            String v=entry.getValue();            System.out.println(k+" = "+v);        }    }}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.