1. 程式人生 > >迴圈裡map不被重複覆蓋問題

迴圈裡map不被重複覆蓋問題

       最近做一個需求時遇到一個小問題,java中想要生成多個map並且放到一個list中,在for迴圈裡去put,結果發現前面所有的map都被最後的一個覆蓋了。最後被一個大哥一句話點醒,用同一個map始終會被覆蓋,必須生成不同map去put。總結了下大概就兩種方法。

         1.當for迴圈結束時,重新new一個map,例:

          Map  map = new HashMap();

          for(){

           map.put();

           map.put();

           map=new HashMap(); 

                }

               2.重寫HashMap的put方法,例:

class MyHashMap extends HashMap { @Override public Object put(Object key, Object value) { //如果已經存在key,不覆蓋原有key對應的value if(!this.containsKey(key)) return super.put(key, value); return null; } } 最終問題算是解決了,本人小白,真切感受與部門大哥差距之大,僅在此記錄下日常遇到的問題吐舌頭