map遍历4种方式获取map的key与value

map遍历的方式有多种,今天分享一下map遍历的4种方式,如何获取map的key与value。

        Map<Integer, String> map = new HashMap<Integer, String>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "ab");
        map.put(4, "ab");
        map.put(4, "ab");
        System.out.println(map.size());
        

方式1:通过Map.keySet遍历key和value

/*
* Set set = map.keySet(); //得到所有key的集合
*
* for (Integer in : set) { String str = map.get(in);
* System.out.println(in + " " + str); }
*/
System.out.println("通过Map.keySet遍历key和value:");
for (Integer in : map.keySet()) {
//map.keySet()返回的是所有key的值
String str = map.get(in);//得到每个key多对用value的值
System.out.println(in + " " + str);
}

方式二:通过Map.entrySet使用iterator遍历key和value


System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
    Map.Entry<Integer, String> entry = it.next();
    System.out.println("key= " + entry.getKey() +
    " and value= " + entry.getValue());
}

方式三:推荐,尤其是容量大时


System.out.println("第三种:通过Map.entrySet遍历key和value");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
     //Map.entry<Integer,String> 映射项(键-值对)  
     //有几个方法:用上面的名字entry
    //entry.getKey() ;entry.getValue(); entry.setValue();
    //map.entrySet()  返回此映射中包含的映射关系的 Set视图。
    System.out.println("key= " + entry.getKey() + " and value= "
                    + entry.getValue());
}

方式四:通过Map.values()遍历所有的value,但不能遍历key

System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
    System.out.println("value= " + v);
}

 

 

map遍历4种方式获取map的key与value

来源:http://www.cnblogs.com/blest-future/p/4628871.html