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

根据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<String> 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<String, String> vo : map.entrySet()){
      vo.getKey();
      vo.getValue();
      System.out.println(vo.getKey()+" "+vo.getValue());
    }

源码

public class Maptest {

  public static void main(String[] args) {
    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");
    // 获取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<String> 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<String, String> 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。