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

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

(0)

相关推荐

  • java HashMap通过value反查key的代码示例

    复制代码 代码如下: import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class MapValueGetKey {  public static void main(String[] args) {    Map map = new HashMap<>();    map.put(1,&qu

  • Java 遍历取出Map集合key-value数据的4种方法

    将map集合存数据与取出数据全部放在一个类MapTest中,方便阅读与查看 随便创建一个包,在包中新建一个class文件,(也可以不建包,直接新建一个class文件) 新建class文件MapTest.java,代码如下: import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class

  • Java Map 通过 key 或者 value 过滤的实例代码

    今天写根过滤的时候一下子有点愣眼,先是想到用 Java 原生的 map 循环查出来,但是觉得太 low, 后面思考了一下可以用 Java8 的 Lambda,写完了,又发现 Google Guava 有现成的方法,这里一一列出来,供参考使用. 首先提示,如果照搬我的代码的话别忘了引这些依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</arti

  • 详解JAVA里面获取map的key和value的方法

    获取map的key和value的方法分为两种形式: map.keySet():先获取map的key,然后根据key获取对应的value: map..entrySet():同时查询map的key和value,只需要查询一次. 同时遍历key和value时,keySet与entrySet方法的性能差异取决于key的具体情况,如复杂度(复杂对象).离散度.冲突率等.换言之,取决于HashMap查找value的开销.entrySet一次性取出所有key和value的操作是有性能开销的,当这个损失小于Ha

  • Java实现过滤掉map集合中key或value为空的值示例

    本文实例讲述了Java实现过滤掉map集合中key或value为空的值.分享给大家供大家参考,具体如下: import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 过滤掉map集合中key或value为空的值 * @author lmb * @date 2017-3-14 */ public

  • java8 stream 操作map根据key或者value排序的实现

    引言 最近小编自己一个人在负责一个项目的后台开发,其中有一部分是统计相关的功能,所以需要一些排序或者分组的操作,之前这种操作小编觉得还是比较麻烦的,虽热有一些现成的工具类,但是工具类的写法也是比较复杂的,但是如果使用java8 stream流的话就比较简单了,并且代码量会大大的减少,下面总结几个对map的操作. 1.map 根据value排序 Map<String,BigDecimal> map =new HashMap<>(); map.put("one",

  • Java Map 按key排序和按Value排序的实现方法

    一.理论准备 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等. TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法. HashMap的值是没有顺序的,它是按照key的HashCode来实现的,对于这个无序的HashMap我们要怎么来实现排序呢?参照TreeM

  • 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

  • Java Map 按Key排序实例代码

    Java Map 按Key排序 有时候我们业务上需要对map里面的值按照key的大小来进行排序的时候我们就可以利用如下方法来进行排序了, package test; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; impo

  • java map中相同的key保存多个value值方式

    目录 map中相同的key保存多个value值 如下代码 Map中相同的键Key不同的值Value实现原理 实现原理 总结 map中相同的key保存多个value值 在java中,Map集合中只能保存一个相同的key,如果再添加相同的key,则之后添加的key的值会覆盖之前key对应的值,Map中一个key只存在唯一的值. 如下代码 package test; import org.junit.Test; import java.util.HashMap; import java.util.Id

  • Java map存放数组并取出值代码详解

    获取map的值主要有四种方法,这四种方法又分为两类,一类是调用map.keySet()方法来获取key和value的值,另一类则是通过map.entrySet()方法来取值,两者的区别在于,前者主要是先获取到所有的key的集合,当你需要查询value的值的时候需要通过key来查询value,后者则直接将key和value的键值对直接取出来,只用查询一次,对于那种性能更好,我觉得还是用map.entrySet()更好一点,具体请参见map.keySet()和map.EntrySet()的比较,接下

  • Java map 优雅的元素遍历方式说明

    Java 8 , Lambda + foreach 语法糖, 写起来非常的 clean public static void main(String[] args) { // map init Map<String, String> map = new HashMap<>(); map.put("k", "v"); /*=====处理函数只有单条语句=====*/ map.forEach((k, v) -> System.out.pri

  • Java Map.get()返回指定键所映射的值

    Java 集合类中的 Map.get() 方法返回指定键所映射的值.如果此映射不包含该键的映射关系,则返回 null. 语法: get(Object key)) 参数说明: key:是指定的 Map 集合中的键名. 典型应用 本示例使用 HashMap 类创建 Map 集合对象,并向集合中添加指定的内容,然后使用 get 方法获取指定键名的键值对象.代码如下: public static void main(String[] args){ Map map = new HashMap(); //定

  • Java Map.entry案例详解

       Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set.Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出Key和Value. 下面是遍历Map的四种方法: public static void main

  • java Map转Object与Object转Map实现代码

    java Map转Object与 Object转Map 1.定义一个实体类: package reflect; public class User { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } publ

随机推荐