Map中获取key-value值的方法

Map<K,V>集合是一种键值映射形式的集合。当调用put(K key,V value)方法把数据存到Map中后,如何把Map中的key值和value值取出来呢?都有哪几种取值的方法呢?下边就来一一介绍。
一、前置准备
以HashMap为例,先为map中存入几个数据,以便于后边对map的取值遍历。

package com.jinglan.list;import java.util.HashMap;public class Demo1 {public static void main(String[] args) {// 定义HashMap集合HashMap<String, String> map = new HashMap<String, String>();// 添加要存入集合的键值map.put("apple", "苹果");map.put("banana", "香蕉");map.put("orange", "橘子");}
}

二、获取Map的key-value值。
获取Map的key-value值分别有以下几种方式,使用时可以根据不同的场景,选择对应的取值方式。
方法一:
同时获取Map中的key值和value值。
此方法通常在要遍历展示这个map中所有的key和value
例如:

//调用entrySet方法,将获取到的键值对存放进Entry的Set集合Set<Entry<String, String>> entrySet = map.entrySet();//获取Entry的Set集合的迭代器Iterator<Entry<String, String>> it = entrySet.iterator();//判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。while(it.hasNext()) {/*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次* next()方法,因为每调用一次next()方法就会获取一个元素* 例如,当多次要调用这个entry对象时,可以先把it.next();获取出来并用* entry对象来接收一下*/Entry<String, String> entry = it.next();//获取到entry对象后,如果想要获取key,可以调用getKey(),想要获取value可以调用getValue()System.out.println(entry.getKey()+"  "+entry.getValue());}

运行一下:

package com.jinglan.list;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;public class Demo1 {public static void main(String[] args) {// 定义HashMap集合HashMap<String, String> map = new HashMap<String, String>();// 添加要存入集合的键值map.put("apple", "苹果");map.put("banana", "香蕉");map.put("orange", "橘子");//调用entrySet方法,将获取到的键值对存放进Entry的Set集合Set<Entry<String, String>> entrySet = map.entrySet();//获取Entry的Set集合的迭代器Iterator<Entry<String, String>> it = entrySet.iterator();//判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。while(it.hasNext()) {/*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次* next()方法,因为每调用一次next()方法就会获取一个元素* 例如,当多次要调用这个entry对象时,可以先把it.next();获取出来并用* entry对象来接收一下*/Entry<String, String> entry = it.next();//获取到entry对象后,如果想要获取key,可以调用getKey(),想要获取value可以调用getValue()System.out.println(entry.getKey()+"  "+entry.getValue());}}
}

运行结果:

方法二:
获取Map中的所有key值,以及通过key值获取对应的value值。
此方法可以用在一些需要判断是否是指定key的情况下,获取该key对应的value。
例如:
//获取所有key的Set集合Set<String> keySet = map.keySet();//获取key的Set集合的迭代器Iterator<String> it = keySet.iterator();//判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。while(it.hasNext()) {/*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次next()方法* 因为每调用一次next()方法就会获取一个元素,这里每调用一次,就会取出一个key*/String key = it.next();System.out.println(key);//如果想要获取key对应的value,也可以通过get()方法获取对应的valueSystem.out.println(key+" "+map.get(key));}

运行一下:

package com.jinglan.list;import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;public class Demo1 {public static void main(String[] args) {// 定义HashMap集合HashMap<String, String> map = new HashMap<String, String>();// 添加要存入集合的键值map.put("apple", "苹果");map.put("banana", "香蕉");map.put("orange", "橘子");//获取所有key的Set集合Set<String> keySet = map.keySet();//获取key的Set集合的迭代器Iterator<String> it = keySet.iterator();//判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。while(it.hasNext()) {/*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次next()方法* 因为每调用一次next()方法就会获取一个元素,这里每调用一次,就会取出一个key*/String key = it.next();System.out.println(key);//如果想要获取key对应的value,也可以通过get()方法获取对应的valueSystem.out.println(key+" "+map.get(key));}}}

运行结果:

方法三:
获取Map中的所有value值,此方法通常用于只想要展示或获取所有的value值的情况
//获取所有value的Collection集合Collection<String> values = map.values();//使用value的Collection集合的迭代器Iterator<String> it = values.iterator();//判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。while(it.hasNext()) {/*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次next()方法* 因为每调用一次next()方法就会获取一个元素,这里每调用一次,就会取出一个value*/String value = it.next();System.out.println(value);}

运行一下:

package com.jinglan.list;import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;public class Demo1 {public static void main(String[] args) {// 定义HashMap集合HashMap<String, String> map = new HashMap<String, String>();// 添加要存入集合的键值map.put("apple", "苹果");map.put("banana", "香蕉");map.put("orange", "橘子");//获取所有value的Collection集合Collection<String> values = map.values();//使用value的Collection集合的迭代器Iterator<String> it = values.iterator();//判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。while(it.hasNext()) {/*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次next()方法* 因为每调用一次next()方法就会获取一个元素,这里每调用一次,就会取出一个value*/String value = it.next();System.out.println(value);}}}

运行结果:

Map集合中获取key-value值的方法相关推荐

  1. vue input只能输入正整数_前端开发:Vue中获取input输入框值的方法

    在前端开发过程中,会用到各种各样的基础组件,一些常用的组件的使用方法一定要滚熟于心,对于刚入门的新手来说,对基础知识的熟练掌握很重要,如果不熟练就会影响开发速度.那么本篇博文就来分享一个比较基础的知识 ...

  2. Java遍历Map集合,获取key、value等方式

    首先构建一个Map集合: Map<String, Integer> buy=new HashMap<>();buy.put("苹果手机", 2);//添加键 ...

  3. 【Groovy】map 集合 ( 根据 Key 获取 map 集合中对应的值 | map.Key 方式 | map.‘Key’ 方式 | map[‘Key’] 方式 | 代码示例 )

    文章目录 一.根据 Key 获取 map 集合中对应的值 1.通过 map.Key 方式获取 map 集合中的值 Value 2.通过 map.'Key' 方式获取 map 集合中的值 Value 3 ...

  4. java map移除key为空_Java实现过滤掉map集合中key或value为空的值示例

    本文实例讲述了Java实现过滤掉map集合中key或value为空的值.分享给大家供大家参考,具体如下: import java.util.Collection; import java.util.H ...

  5. Java过滤掉map集合中key或value为空的值

    import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.M ...

  6. Java将map置空_Java实现过滤掉map集合中key或value为空的值示例

    Java实现过滤掉map集合中key或value为空的值示例 发布时间:2020-09-16 23:26:14 来源:脚本之家 阅读:147 作者:May的博客 本文实例讲述了Java实现过滤掉map ...

  7. Map集合中的方法(添加、删除、判断、获取)

    /* Map集合:该集合存储键(K)值(V)对,一对一往里存,而且要保证键的唯一性. 1.添加 put(K key,V value) putAll(Map<? extends K,? exten ...

  8. 遍历Map集合、修改Map集合中的value值

    Map集合是基于java核心类--java.util中的: Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value values(): 是获取集合中的 ...

  9. java 迭代器 entryset_Java使用entrySet方法获取Map集合中的元素

    本文为大家分享了使用entrySet方法获取Map集合中元素的具体代码,供大家参考,具体内容如下 /*--------------------------------- 使用entrySet方法取出M ...

最新文章

  1. openfire单个插件编译
  2. ‘mmdet\ops\nms\src/soft_nms_cpu.pyx‘ doesn‘t match any files
  3. python停止线程池_详解python中Threadpool线程池任务终止示例代码
  4. 10.30T2 二分+前缀和(后缀和)
  5. python数据的格式输出_Python格式化输出
  6. 使用HTML5开发手机离线应用
  7. vue的生命周期和钩子函数的理解
  8. vue-router中hash模式、history模式原理
  9. Hive合并小文件参数总结
  10. Qt总结之三:磁盘文件操作、遍历文件夹和文件目录,并过滤和获取文件信息、后缀名、前缀名(三)
  11. python 对象_python中对象可不可以
  12. 如何查看文件的md5值
  13. Docker容器化部署报Fatal error: Can‘t open and lock privilege tables: Table ‘mysql.user‘ doesn‘t exis的解决办法
  14. 应用统计学方差分析之单因素方差分析原理解析(含Python代码)
  15. {转载}——jvm verbose 参数详解
  16. 用的五大bug管理工具的优缺点和下载地址
  17. 关于使用网页做托福TPO在chrome上没有声音,找不到autoplay-policy
  18. 网络设备模拟器Packet Tracer教程
  19. 计算机专硕考数一英一的学校有哪些,这所211专硕改考数一英一!部分院校初试科目调整...
  20. 计算机网络如何选择路由器,路由器上网方式如何选择?

热门文章

  1. 2020年最新运营推广心得和技巧
  2. 【某区护网】从外网打点到拿下域控
  3. python关键词排名_python实现查询百度关键词排名并截图标注保存
  4. vue项目中创建全局组件
  5. oracle怎么修改表的名称
  6. 七牛云对象存储 Java使用
  7. CSDN——转载文章
  8. canvas在图片上绘制图形
  9. 设计模式学习笔记(八)—Template Method模式
  10. Shell中while循环的done 后接一个重定向