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

          Java專題文章博客和開(kāi)源

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          Java的HashMap遍歷方法

            先來(lái)說(shuō)下我在項(xiàng)目中發(fā)現(xiàn)的一個(gè)以前沒(méi)有用過(guò)的東西request.getParameterMap()

            request.getParameterMap()返回的值,是一個(gè)Map類型的,記錄著所提交的請(qǐng)求中請(qǐng)求參數(shù)和請(qǐng)求參數(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對(duì)象,將返回值復(fù)制到此新map對(duì)象中進(jìn)行修改,用新的map對(duì)象代替使用之前的返回值托福代考 托福答案

            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這樣的組件會(huì)有一個(gè)name對(duì)應(yīng)對(duì)個(gè)value的時(shí)候,所以該Map中鍵值對(duì)是"String-->String[]"的實(shí)現(xiàn)職稱英語(yǔ)代考 職稱英語(yǔ)答案

            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 受映射支持,

            // 所以對(duì)映射的更改可在此 set 中反映出來(lái),反之亦然雅思代考 雅思答案

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

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

            // 通過(guò) 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 受映射支持,所以對(duì)映射的更改可在此 set 中反映出來(lái),反之亦然。

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

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

            // set 支持元素移除,通過(guò) 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)對(duì)應(yīng)的鍵

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

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

            // }

            }

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

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


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


          網(wǎng)站導(dǎo)航:
           
          PK10開(kāi)獎(jiǎng) PK10開(kāi)獎(jiǎng)
          主站蜘蛛池模板: 临泉县| 伊宁市| 奉化市| 东乡族自治县| 黔东| 扶绥县| 湖南省| 宁海县| 南澳县| 鹤岗市| 南丹县| 民和| 嘉荫县| 黄梅县| 共和县| 津南区| 阿图什市| 阳谷县| 周至县| 嘉义县| 鄂温| 北碚区| 沂南县| 阜新市| 城步| 恩平市| 靖宇县| 奇台县| 峡江县| 潞西市| 东至县| 屯留县| 新和县| 惠东县| 尼木县| 搜索| 富民县| 滨海县| 淮阳县| 定日县| 甘孜县|