这篇文章主要介绍“Map集合中如何获取key-value值”,在日常操作中,相信很多人在Map集合中如何获取key-value值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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()) {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()) {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()) {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()) {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()) {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()) {String value = it.next();System.out.println(value);}}}
运行结果:
到此,关于“Map集合中如何获取key-value值”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!