map的四種遍歷方式
map是java中非常常用的一種資料結構,但map不同於set和list都繼承自Collection介面。
所以map沒有實現Collection的Iterator 方法,自身沒有迭代器來遍歷元素。
構造一個map
- Map<String, String> map = new HashMap<String, String>();
- map.put("001", "hello");
- map.put("002", "world");
- map.put("003", "main");
這裡我們介紹常用的四種方式:keySet集合迭代,entrySet集合迭代,keySet 集合for-each 迴圈,entrySet集合for-each迴圈。
方法1 keySet集合迭代
- // method1
- Set<String> keySet = map.keySet();
- Iterator<String> it = keySet.iterator();
- while (it.hasNext()) {
- String key = it.next();
- System.out.println(key + "=" + map.get(key));
- }
方法2 entrySet集合迭代
- // method2
- Set<Map.Entry<String, String>> entrySet = map.entrySet();
- Iterator<Map.Entry<String, String>> meIt = entrySet.iterator();
- while (meIt.hasNext()) {
- Entry<String, String> entry = meIt.next();
- System.out.println(entry.getKey() + "=" + entry.getValue());
- }
方法3 keySet集合for-each迴圈
- // method3
- for (String key : map.keySet()) {
- System.out.println(key + "=" + map.get(key));
- }
方法4 entrySet集合for-each迴圈
- // method4
- for (Map.Entry<String, String> entry : map.entrySet()) {
- System.out.println(entry.getKey() + "=" + entry.getValue());
- }
四種方式中,method1 和 method2 是通過迭代器來顯示完成的,method3 和 method4 是通過for-each來隱式的通過迭代器來完成的。
同時 method1 和 method3 是通過key的集合來完成的,method2 和 method4 是通過entry 的集合來完成的。
方法1 和方法2 的區別
一個是獲取keySet ,一個是獲取entrySet
推薦使用entrySet 的方式去獲取,檢視map通過key獲取value的方法
注意:大量資料時使用該entrySet方式效率更高。
- public V get(Object key) {
- if (key == null)
- return getForNullKey();
- Entry<K,V> entry = getEntry(key);
- return null == entry ? null : entry.getValue();
- }
map 介面還有一個方法 values() ,由於僅能取到所有的value值,而取不到key值,所以在這裡就算不上遍歷map了,只能算上遍歷map的value值。
轉載自:https://blog.csdn.net/magi1201/article/details/41968495
相關文章
- Map集合的四種遍歷方式
- Java遍歷Map物件的四種方式Java物件
- hashMap的四種遍歷方式HashMap
- python字典的四種遍歷方式Python
- 影片直播系統原始碼,java中Map遍歷的三種方式原始碼Java
- 如何遍歷 HashMap,遍歷HashMap 的 5 種最佳方式HashMap
- js的map遍歷和array遍歷JS
- Java 中九種 Map 的遍歷方式,你一般用的是哪種呢?Java
- 【Java中遍歷Map物件的4種方法】Java物件
- Java中如何遍歷Map物件的4種方法Java物件
- 遍歷資料夾的幾種方式
- 遍歷PHP陣列的6種方式PHP陣列
- React中兩種遍歷資料的方法(map、forEach)React
- 遍歷 Dictionary,你會幾種方式?
- vue遍歷map物件Vue物件
- MVC遍歷map集合MVC
- Map迴圈遍歷
- c++遍歷陣列的多種方式C++陣列
- JS遍歷物件屬性的7種方式JS物件
- HashMap 的 7 種遍歷方式與效能分析HashMap
- 二叉樹四種遍歷二叉樹
- Java遍歷Map集合的方法Java
- Map集合&&Map集合的不同遍歷【keySet()&&entrySet()】
- 樹的遍歷方式
- php陣列中常用的多種遍歷方式PHP陣列
- 26_map遍歷.goGo
- jquery遍歷得到的 Map 資料,jQuery
- JS遍歷物件的方式JS物件
- map遍歷知識總結
- php手冊 php陣列的遍歷有哪幾種方式?php陣列如何遍歷?PHP陣列
- 關於Map集合的遍歷總結
- java中遍歷map的集中方法Java
- python字串遍歷方式Python字串
- 一文弄懂二叉樹的三種遍歷方式二叉樹
- js 遍歷陣列方式JS陣列
- js技巧用Map集合代替Array遍歷JS
- 遍歷陣列的常用方法forEach,filter,map等陣列Filter
- Map的某種建立方式