中文JAVA技術(shù)平等自由協(xié)作創(chuàng)造

          Java專題文章博客和開源

          常用鏈接

          統(tǒng)計(jì)

          最新評論

          Java的HashMap遍歷方法

            先來說下我在項(xiàng)目中發(fā)現(xiàn)的一個(gè)以前沒有用過的東西request.getParameterMap()

            request.getParameterMap()返回的值,是一個(gè)Map類型的,記錄著所提交的請求中請求參數(shù)和請求參數(shù)值的映射關(guān)系。它的返回值有個(gè)特別之處--只能讀。不像普通的map數(shù)據(jù)一樣可以修改。這是因?yàn)榉?wù)器為了實(shí)現(xiàn)一定的安全規(guī)范,所作的限制,WebLogic,Tomcat,Resin,JBoss等服務(wù)器均實(shí)現(xiàn)了此規(guī)范。但是有必要在拿到此值做修改的話,要新建一個(gè)map對象,將返回值復(fù)制到此新map對象中進(jìn)行修改,用新的map對象代替使用之前的返回值托福代考 托福答案

            Map readOnlyMap = request.getParameterMap();

            Map writeAbleMap = new HashMap();

            writeAbleMap.putAll(readOnlyMap);

            writeAbleMap.remove()或者put() …在后續(xù)的程序代碼中使用writeAbleMap即可。

            另外,request.getParameterMap()返回值使用泛型時(shí)應(yīng)該是Map<String,String[]>形式,因?yàn)橛袝r(shí)像checkbox這樣的組件會有一個(gè)name對應(yīng)對個(gè)value的時(shí)候,所以該Map中鍵值對是"String-->String[]"的實(shí)現(xiàn)職稱英語代考 職稱英語答案

            HashMap遍歷

            public static void main(String[] args) {

            HashMap<String, String> hm = new HashMap<String, String>();

            hm.put("100", "001");

            hm.put("200", "002");

            hm.put("300", "003");

            hm.put("400", "004");

            hm.put("500", "005");

            hm.put("600", "006");

            hm.put("700", "007");

            hm.put("800", "008");

            hm.put("900", "009");

            // System.out.println(hm.get("100"));

            // System.out.println(hm.size());

            // 第一種方法【推薦用這一種】

            Iterator<String> iterator = hm.keySet()。iterator();

            // keySetSet<K>

            // keySet()返回此映射中包含的鍵的 Set 視圖。該 set 受映射支持,

            // 所以對映射的更改可在此 set 中反映出來,反之亦然雅思代考 雅思答案

            // 如果對該 set 進(jìn)行迭代的同時(shí)修改了映射(通過迭代器自己的 remove 操作除外),

            // 則迭代結(jié)果是不確定的。set 支持元素移除,

            // 通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear

            // 操作可從映射中移除相應(yīng)的映射關(guān)系。

            // 它不支持 add 或 addAll 操作。

            // 返回:

            // 此映射中包含的鍵的 set 視圖

            while (iterator.hasNext()) {

            System.out.println(hm.get(iterator.next()));

            }

            // 第二種方法

            // Set set = hm.entrySet();

            // entrySet

            // Set<Map.Entry<K,V》 entrySet()返回此映射中包含的映射關(guān)系的 Set 視圖。

            // 該 set 受映射支持,所以對映射的更改可在此 set 中反映出來,反之亦然。

            // 如果對該 set 進(jìn)行迭代的同時(shí)修改了映射(通過迭代器自己的 remove 操作,

            // 或者通過對迭代器返回的映射項(xiàng)執(zhí)行 setValue 操作除外),則迭代結(jié)果是不確定的。

            // set 支持元素移除,通過 Iterator.remove、Set.remove、removeAll、retainAll 和 clear

            // 操作可從映射中移除相應(yīng)的映射關(guān)系。

            // 它不支持 add 或 addAll 操作。

            // 返回: 

            // 此映射中包含的映射關(guān)系的 set 視圖

            // java.util.Iterator it = hm.entrySet()。iterator();

            // while (it.hasNext()) {

            // java.util.Map.Entry entry = (java.util.Map.Entry) it.next();

            // // entry.getKey() 返回與此項(xiàng)對應(yīng)的鍵

            // // entry.getValue() 返回與此項(xiàng)對應(yīng)的值

            // System.out.println(entry.getValue());

            // }

            }

            使用的時(shí)候,大家就可以把request.getParameterMap()轉(zhuǎn)換成普通的HashMap來操作了。

          posted on 2013-03-08 21:55 好不容易 閱讀(415) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          PK10開獎 PK10開獎
          主站蜘蛛池模板: 姚安县| 嘉荫县| 天门市| 博乐市| 宽城| 休宁县| 新昌县| 谷城县| 喀喇沁旗| 安化县| 盈江县| 呈贡县| 高唐县| 浦北县| 尉犁县| 吐鲁番市| 嵊泗县| 西峡县| 黔江区| 台前县| 天门市| 四平市| 和平区| 桓仁| 建水县| 鄱阳县| 宁河县| 南和县| 合江县| 宁津县| 墨玉县| 大悟县| 红桥区| 德兴市| 永州市| 丰原市| 根河市| 柳江县| 祥云县| 凌海市| 津市市|