Map集合中获取key 您所在的位置:网站首页 key与value Map集合中获取key

Map集合中获取key

2023-11-12 10:45| 来源: 网络整理| 查看: 265

Map中获取key-value值的方法

Map集合是一种键值映射形式的集合。当调用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 map = new HashMap(); // 添加要存入集合的键值 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 entrySet = map.entrySet(); //获取Entry的Set集合的迭代器 Iterator it = entrySet.iterator(); //判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。 while(it.hasNext()) { /*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次 * next()方法,因为每调用一次next()方法就会获取一个元素 * 例如,当多次要调用这个entry对象时,可以先把it.next();获取出来并用 * entry对象来接收一下 */ Entry 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 map = new HashMap(); // 添加要存入集合的键值 map.put("apple", "苹果"); map.put("banana", "香蕉"); map.put("orange", "橘子"); //调用entrySet方法,将获取到的键值对存放进Entry的Set集合 Set entrySet = map.entrySet(); //获取Entry的Set集合的迭代器 Iterator it = entrySet.iterator(); //判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。 while(it.hasNext()) { /*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次 * next()方法,因为每调用一次next()方法就会获取一个元素 * 例如,当多次要调用这个entry对象时,可以先把it.next();获取出来并用 * entry对象来接收一下 */ Entry 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 keySet = map.keySet(); //获取key的Set集合的迭代器 Iterator it = keySet.iterator(); //判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。 while(it.hasNext()) { /*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次next()方法 * 因为每调用一次next()方法就会获取一个元素,这里每调用一次,就会取出一个key */ String key = it.next(); System.out.println(key); //如果想要获取key对应的value,也可以通过get()方法获取对应的value System.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 map = new HashMap(); // 添加要存入集合的键值 map.put("apple", "苹果"); map.put("banana", "香蕉"); map.put("orange", "橘子"); //获取所有key的Set集合 Set keySet = map.keySet(); //获取key的Set集合的迭代器 Iterator it = keySet.iterator(); //判断迭代器中是否还有元素,如果有,则进入循环;如果没有,则停止。 while(it.hasNext()) { /*通过next()方法获取迭代器中的元素,这里需要注意,每次循环,只能调用一次next()方法 * 因为每调用一次next()方法就会获取一个元素,这里每调用一次,就会取出一个key */ String key = it.next(); System.out.println(key); //如果想要获取key对应的value,也可以通过get()方法获取对应的value System.out.println(key+" "+map.get(key)); } } }

运行结果: 在这里插入图片描述

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

运行结果: 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有