最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Map集合中獲取key-value值的實現(xiàn)方法

 更新時間:2023年03月22日 09:50:55   作者:立志Java工程師  
這篇文章主要介紹了Map集合中獲取key-value值的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Map<K,V>集合是一種鍵值映射形式的集合。

當調用put(K key,V value)方法把數(shù)據(jù)存到Map中后,如何把Map中的key值和value值取出來呢?

都有哪幾種取值的方法呢?下邊就來一一介紹。

一、前置準備

以HashMap為例,先為map中存入幾個數(shù)據(jù),以便于后邊對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值分別有以下幾種方式,使用時可以根據(jù)不同的場景,選擇對應的取值方式。

方法一

  • 同時獲取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();
		//判斷迭代器中是否還有元素,如果有,則進入循環(huán);如果沒有,則停止。
		while(it.hasNext()) {
			/*通過next()方法獲取迭代器中的元素,這里需要注意,每次循環(huán),只能調用一次
			 * 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();
		//判斷迭代器中是否還有元素,如果有,則進入循環(huán);如果沒有,則停止。
		while(it.hasNext()) {
			/*通過next()方法獲取迭代器中的元素,這里需要注意,每次循環(huán),只能調用一次
			 * 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();
		//判斷迭代器中是否還有元素,如果有,則進入循環(huán);如果沒有,則停止。
		while(it.hasNext()) {
			/*通過next()方法獲取迭代器中的元素,這里需要注意,每次循環(huán),只能調用一次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<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();
		//判斷迭代器中是否還有元素,如果有,則進入循環(huán);如果沒有,則停止。
		while(it.hasNext()) {
			/*通過next()方法獲取迭代器中的元素,這里需要注意,每次循環(huán),只能調用一次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<String> values = map.values();
		//使用value的Collection集合的迭代器
		Iterator<String> it = values.iterator();
		//判斷迭代器中是否還有元素,如果有,則進入循環(huán);如果沒有,則停止。
		while(it.hasNext()) {
			/*通過next()方法獲取迭代器中的元素,這里需要注意,每次循環(huán),只能調用一次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();
		//判斷迭代器中是否還有元素,如果有,則進入循環(huán);如果沒有,則停止。
		while(it.hasNext()) {
			/*通過next()方法獲取迭代器中的元素,這里需要注意,每次循環(huán),只能調用一次next()方法
			 * 因為每調用一次next()方法就會獲取一個元素,這里每調用一次,就會取出一個value
			 */
			String value = it.next();
			System.out.println(value);
			}
			}
		}

運行結果:

在這里插入圖片描述

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 利用java實現(xiàn)單詞倒序排列

    利用java實現(xiàn)單詞倒序排列

    這篇文章就是利用java實現(xiàn)單詞倒序排列,感覺像是在變魔術,感興趣的小伙伴來見證一下
    2015-07-07
  • 分享一個你不知道的Java異常實現(xiàn)的缺陷

    分享一個你不知道的Java異常實現(xiàn)的缺陷

    Java中一個大家熟知的知識點就是異常捕獲,try...catch...finally組合,但是很多人不知道這里面有一個關于Java的缺陷,或者說是異常實現(xiàn)的一點不足之處。本文就通過一個很簡單的實驗給大家演示下效果玩玩兒,希望大家能覺得有趣
    2022-12-12
  • java 全角半角字符轉換的方法實例

    java 全角半角字符轉換的方法實例

    這篇文章主要介紹了java 全角半角字符轉換的方法,大家參考使用吧
    2013-11-11
  • Java工具類DateUtils實例詳解

    Java工具類DateUtils實例詳解

    這篇文章主要為大家詳細介紹了Java工具類DateUtils實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • java實現(xiàn)數(shù)字猜拳小游戲

    java實現(xiàn)數(shù)字猜拳小游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)數(shù)字猜拳的小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • javaWeb中使用Redis緩存實例解析

    javaWeb中使用Redis緩存實例解析

    這篇文章主要介紹了javaWeb中使用Redis緩存實例解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • java讀取json文件的2種方式例子

    java讀取json文件的2種方式例子

    這篇文章主要給大家介紹了關于java讀取json文件的2種方式,在開發(fā)過程中有時會遇到需要讀取.json文件的需求,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • java在hashmap初始化時賦初值過程解析

    java在hashmap初始化時賦初值過程解析

    這篇文章主要介紹了java在hashmap初始化時賦初值過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • JDK8升級JDK17過程中踩到的一些坑

    JDK8升級JDK17過程中踩到的一些坑

    這篇文章主要給大家介紹了關于JDK8升級JDK17過程中踩到的一些坑,對于一些老的項目,升級到JDK8則存在一些兼容性問題,是否升級需要酌情考慮,需要的朋友可以參考下
    2023-07-07
  • maven的三種工程pom、jar、war的區(qū)別

    maven的三種工程pom、jar、war的區(qū)別

    這篇文章主要介紹了maven的三種工程pom、jar、war的區(qū)別,詳細的介紹pom、jar、war和區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論

长沙市| 枞阳县| 嘉峪关市| 方山县| 浙江省| 明水县| 峨眉山市| 长汀县| 喀什市| 阳泉市| 大冶市| 长寿区| 塘沽区| 武隆县| 五家渠市| 龙里县| 桃园县| 宁远县| 如东县| 寿宁县| 松溪县| 休宁县| 泗水县| 抚远县| 延寿县| 南丹县| 盘锦市| 柏乡县| 巴塘县| 简阳市| 长泰县| 定陶县| 辽宁省| 南华县| 泽普县| 内丘县| 青州市| 湟源县| 会宁县| 富川| 靖江市|