您的位置:

通过Map获取Value

一、Map获取key

Map是Java中常用的一种数据结构,它用来存储一组键值对,实现了将key映射到value的对应关系。获取Map中的key可以通过以下方法:

1、通过keySet()方法获取key的集合,然后遍历集合取出每个key的值。

    Map map = new HashMap<>();
    map.put("name","张三");
    map.put("age","18");
    Set
    keySet = map.keySet();
    for (String key : keySet) {
        System.out.println(key);
    }

   
  

2、通过entrySet()方法获取键值对的集合,然后遍历集合取出每个键值对中的key。

    Map map = new HashMap<>();
    map.put("name","张三");
    map.put("age","18");
    Set
   
    > entrySet = map.entrySet();
    for (Map.Entry
      entry : entrySet) {
        System.out.println(entry.getKey());
    }

     
    
   
  

3、通过迭代器获取key。

    Map map = new HashMap<>();
    map.put("name","张三");
    map.put("age","18");
    Iterator
    iterator = map.keySet().iterator();
    while (iterator.hasNext()) {
        System.out.println(iterator.next());
    }

   
  

二、Map获取value

获取Map中的value可以通过以下方法:

1、通过values()方法获取所有的value,然后遍历集合取出每个value的值。

    Map map = new HashMap<>();
    map.put("name","张三");
    map.put("age","18");
    Collection
    values = map.values();
    for (String value : values) {
        System.out.println(value);
    }

   
  

2、通过entrySet()方法获取键值对的集合,然后遍历集合取出每个键值对中的value。

    Map map = new HashMap<>();
    map.put("name","张三");
    map.put("age","18");
    Set
   
    > entrySet = map.entrySet();
    for (Map.Entry
      entry : entrySet) {
        System.out.println(entry.getValue());
    }

     
    
   
  

3、通过迭代器获取value。

    Map map = new HashMap<>();
    map.put("name","张三");
    map.put("age","18");
    Iterator
    iterator = map.values().iterator();
    while (iterator.hasNext()) {
        System.out.println(iterator.next());
    }

   
  

三、小结

通过以上三种方式,可以很方便地获取Map中的key和value。需要注意的是,当Map中存在重复的key时,获取到的value只会返回最后一个key对应的value。