国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

map的4中遍歷方式

2019-11-11 01:44:59
字體:
來源:轉載
供稿:網友

用了map那么久,最常用的當然是最直接的put和get方法,今天總結一下map的便利。

map的便利有4種,我們依次來看。

第一種 這是最常見的用法,這種用法可以同時拿到key和value值。 缺點:如果map是空,將會出現空指針異常,那么每次在對map遍歷以前,就要先進行判空

public static void forEachMap(Map<String,String> map) { for ( Map.Entry<String,String> entry : map.entrySet()) { System.out.PRintln(entry.getKey()+entry.getValue()); } }

下來看看第二種遍歷方法 這種方法是只遍歷key或者value。這種方法比第一種方法的效率略微有提升,而且代碼也能簡潔一點。同樣,這種方法也需要判斷map是否為空。

public static void forEachMap2(Map<String,String> map){ for (String str :map.keySet()){ System.out.println(str); } for (String str :map.values()){ System.out.println(str); } }

第三種方法是使用迭代器的方式

/** * 使用迭代器 * * @param map */ public static void forEachMap3(Map<String, String> map) { Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, String> entry = iterator.next(); System.out.println(entry.getKey() + entry.getValue()); } } /** * 使用迭代器但是不適用泛型 * * @param map */ public static void forEachMap4(Map<String, String> map) { Iterator iterator = map.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry entry= (Map.Entry) iterator.next(); //這里的類型轉換的原因是,如果不加String,那么背默認為兩個object,不能相加 System.out.println((String)entry.getKey() + entry.getValue()); } }

這兩種方式沒有什么大的區別,只是在泛型上有個區別。

第四種是先拿到map的key值,再拿取value值。 這種方式效率比較低,一般不推薦使用

for (Integer key : map.keySet()) { Integer value = map.get(key); System.out.println("Key = " + key + ", Value = " + value); }
上一篇:折線分割平面

下一篇:HDU - 1166 CDQ分治

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊宁市| 乌拉特后旗| 米脂县| 岚皋县| 崇义县| 射洪县| 利川市| 乌审旗| 南宁市| 都兰县| 义马市| 奉节县| 新干县| 胶州市| 即墨市| 汉阴县| 花垣县| 泰和县| 宜川县| 溧阳市| 综艺| 堆龙德庆县| 怀安县| 长兴县| 咸阳市| 山西省| 江永县| 朝阳市| 鸡东县| 苍南县| 崇仁县| 东台市| 灌云县| 合作市| 鹤山市| 正定县| 普兰店市| 沛县| 普定县| 牙克石市| 烟台市|