Java中 遍历Map对象的6种方法

来源:互联网 发布:new blue 插件 mac 编辑:程序博客网 时间:2024/06/06 03:21
public class mapTest {    public static void main(String arg[]) {        Map<String, String> map = new HashMap<String, String>();        map.put("username", "mcc");        map.put("passWord", "123");        map.put("userID", "1");        map.put("userID", "2");        map.put("email", "mcc@qq.com");        //第一种:普遍使用,二次取值  效率低        System.out.println("通过Map.keySet遍历key和value:");        for (String key : map.keySet()) {            System.out.println(key + "---->" + map.get(key));        }        //第二种        System.out.println("通过Map.values()遍历所有的value,但不能遍历key");        for (String value : map.values()) {            System.out.println(value);        }        //第三种:推荐,尤其是容量大时        System.out.println("通过Map.entrySet遍历key和value");        for (Map.Entry<String, String> entry : map.entrySet()) {            System.out.println(entry.getKey() + "---->" + entry.getValue());        }        //第四种        System.out.println("通过Map.entrySet使用iterator遍历key和value:");        Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();        while (it.hasNext()) {            Map.Entry<String, String> entry = it.next();            System.out.println(entry.getKey() + "---->" + entry.getValue());        }        //第五种        System.out.println("通过map.keySet使用iterator遍历key和value:");        Iterator<String> iterator = map.keySet().iterator();        while (iterator.hasNext()) {            String key = iterator.next();            String value = map.get(key);            System.out.println(key + "---->" + value);        }        //第六种        System.out.println("通过map.values使用iterator遍历value,但不能遍历key");        Iterator<String> iterator2 = map.values().iterator();        while (iterator2.hasNext()) {            String value = iterator2.next();            System.out.println(value);        }    }}

Map.Entry

Map是java中的接口,Map.Entry是Map的一个内部接口。
Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。

Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry

0 0