Map——如何根据key取value,以及不指定key取出所有的value

      • 根据key取其value
      • 不知key取map里的value值——用map.keySet()
      • 不知key取map里的value值——用Iterator 迭代
      • 不知key取map里的value值——用map.entrySet()
      • 源码
      • 运行结果
      • 总结

根据key取其value

Map<String, String> map = new HashMap<String, String>();
        map.put("b", "4");
        map.put("a", "5");
        map.put("c", "3");
        map.put("d", "5");
     // 根据key获取 其value
        System.out.println("通过key获取 其value");
        System.out.println("key 'what'的value为:"+map.get("a")+"\n");

不知key取map里的value值——用map.keySet()

 //map.keySet() 先获取map对象的所有key值,再循环遍历获取各个key对应的value;
        System.out.print("通过 map.keySet() 得到key,然后获取value\n");
        for(String key : map.keySet()){
            String value = map.get(key);
            System.out.println(key+"  "+value);
        }

不知key取map里的value值——用Iterator 迭代

//使用迭代器,获取key;
        System.out.print("通过迭代器,获取key,然后获取value\n");
        Iterator iter = map.keySet().iterator();
        while(iter.hasNext()){
            String key=iter.next();
            String value = map.get(key);
            System.out.println(key+" "+value);
        }

不知key取map里的value值——用map.entrySet()

        //通过map.entrySet()方法
        System.out.print("通过map.entrySet()循环map里面的每一对键值对,然后获取key和value\n");
        for(Map.Entry vo : map.entrySet()){
            vo.getKey();
            vo.getValue();
            System.out.println(vo.getKey()+"  "+vo.getValue());
        }

源码

public class Maptest {

    public static void main(String[] args) {
        Map map = new HashMap();
        map.put("b", "4");
        map.put("a", "5");
        map.put("c", "3");
        map.put("d", "5");

        //  获取指定 key 的value
        System.out.println("通过key获取 其value");
        System.out.println("key 'what'的value为:"+map.get("a")+"\n");
        // 获取map的所有key
        System.out.print("获取map的所有key\n");
        System.out.print("map.keySet():"+map.keySet()+"\n");
        //获取map中所有 value
        System.out.print("获取map中所有 value\n");
        System.out.print("map.values():"+  map.values()+"\n");

        //通过 map.keySet() 得到key的值,然后获取value;
        System.out.print("通过 map.keySet() 得到key,然后获取value\n");
        for(String key : map.keySet()){
            String value = map.get(key);
            System.out.println(key+"  "+value);
        }
        //使用迭代器,获取key;
        System.out.print("通过迭代器,获取key,然后获取value\n");
        Iterator iter = map.keySet().iterator();
        while(iter.hasNext()){
            String key=iter.next();
            String value = map.get(key);
            System.out.println(key+" "+value);
        }
        //通过map.entrySet()方法
        System.out.print("通过map.entrySet()循环map里面的每一对键值对,然后获取key和value\n");
        for(Map.Entry vo : map.entrySet()){
            vo.getKey();
            vo.getValue();
            System.out.println(vo.getKey()+"  "+vo.getValue());
        }

}
}

运行结果

通过key获取 其value
key 'a'value为:5

获取map的所有key
map.keySet():[a, b, c, d]
获取map中所有 value
map.values():[5, 4, 3, 5]
通过 map.keySet() 得到key,然后获取value
a  5
b  4
c  3
d  5
通过迭代器,获取key,然后获取value
a 5
b 4
c 3
d 5
通过map.entrySet()循环map里面的每一对键值对,然后获取key和value
a  5
b  4
c  3
d  5

总结

待续

你可能感兴趣的:(java)