java?Map集合中取鍵和值的4種方式舉例
1、使用Map的keySet()方法獲取鍵集合,再使用forEach循環(huán)遍歷鍵集合,通過Map的get()方法獲取對(duì)應(yīng)的值。例如:
Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); // 獲取鍵集合,遍歷鍵集合,通過get()方法獲取對(duì)應(yīng)的值 Set<String> keySet = map.keySet(); for (String key : keySet) { Integer value = map.get(key); System.out.println("key:" + key + ",value:" + value); }
2、使用Map的values()方法獲取值集合,再使用forEach循環(huán)遍歷值集合。例如:
Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); // 獲取值集合,遍歷值集合 Collection<Integer> values = map.values(); for (Integer value : values) { System.out.println("value:" + value); }
3、使用Map的entrySet()方法獲取鍵值對(duì)集合,再使用forEach循環(huán)遍歷鍵值對(duì)集合,通過Entry的getKey()方法獲取鍵,通過Entry的getValue()方法獲取值。例如:
Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); // 獲取鍵值對(duì)集合,遍歷鍵值對(duì)集合,通過Entry的getKey()方法獲取鍵,通過Entry的getValue()方法獲取值 Set<Entry<String, Integer>> entrySet = map.entrySet(); for (Entry<String, Integer> entry : entrySet) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println("key:" + key + ",value:" + value); }
4、使用Java8的Stream流獲取鍵值對(duì)集合,通過map方法獲取鍵或值的流。例如:
Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); // 獲取鍵流,遍歷鍵流 map.keySet().stream().forEach(key -> System.out.println("key:" + key)); // 獲取值流,遍歷值流 map.values().stream().forEach(value -> System.out.println("value:" + value)); // 獲取鍵值對(duì)流,遍歷鍵值對(duì)流,通過Entry的getKey()方法獲取鍵,通過Entry的getValue()方法獲取值 map.entrySet().stream().forEach(entry -> System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue()));
附:遍歷獲取Map集合中的鍵和值
寫在前面:前段時(shí)間找工作,遇到一道面試題,要求遍歷取出Map集合的鍵和值,沒有要求使用多種方法,做完面試題就想著整理一下,讓自己多多積累。
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Base2 { /** * * @param args */ public static void main(String[] args) { Map<String, Object> map = new HashMap<>(); map.put("1", "張三"); map.put("2", "李四"); map.put("3", "王五"); //方法一:使用keySet()方法將key放入set中 Set<String> set = map.keySet();//先使用set得到map的所有key Iterator<String> it = set.iterator();//構(gòu)造set的迭代器 while (it.hasNext()) { String key = it.next(); Object value = map.get(key); System.out.println("key" + key + "value" + value); } //方法二 : 用增強(qiáng)for循環(huán)來代替 iterator Set<String> set1 = map.keySet(); for (String key1 : set1) { Object value1 = map.get(key1); System.out.println("key" + key1 + "value" + value1); //方法三 :將map的鍵值對(duì)用entrySet方法取出,再放入到set當(dāng)中 Set<Map.Entry<String, Object>> map1 = map.entrySet(); for (Map.Entry<String, Object> maps : map1) { String key2 = maps.getKey(); Object Value2 = maps.getValue(); System.out.println("key" + key2 + "value" + Value2); } //方法四 Iterator iterator = map.entrySet().iterator(); while (iterator.hasNext()){ Map.Entry maps = ( Map.Entry)iterator.next(); Object key = maps.getKey(); Object value = maps.getValue(); System.out.println("key" + key + "value" + value); } } }}
總結(jié)
到此這篇關(guān)于java Map集合中取鍵和值的4種方式的文章就介紹到這了,更多相關(guān)java Map集合取鍵和值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Eclipse 導(dǎo)出可執(zhí)行Java工程/可執(zhí)行Jar文件(包含第三方Jar包)
這篇文章主要介紹了Eclipse 導(dǎo)出可執(zhí)行Java工程/可執(zhí)行Jar文件(包含第三方Jar包)的相關(guān)資料,需要的朋友可以參考下2016-11-11Java實(shí)現(xiàn)圖書館借閱系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖書館借閱系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03mybatis?返回Map類型key默認(rèn)為大寫問題
這篇文章主要介紹了mybatis?返回Map類型key默認(rèn)為大寫問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11