您好,登錄后才能下訂單哦!
這篇文章主要介紹“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
例如:
//調用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()方法獲取對應的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(); //判斷迭代器中是否還有元素,如果有,則進入循環;如果沒有,則停止。 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<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值”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。