欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-22 09:34:38
根据key取其value map map = new hashmap(...

根据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

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