1 import java.util.Collection; 2 import java.util.HashMap; 3 import java.util.Iterator; 4 import java.util.Map; 5 import java.util.Set; 6 7 public class MapDemo { 8 9 public static void main(String[] args) { 10 Map<Integer,String> map = new HashMap<Integer,String>(); 11 12 13 map.put(8, "zhaoliu"); 14 map.put(9, "zhaoliu"); 15 map.put(1, "xiaoqiang"); 16 map.put(6, "wangcai"); 17 map.put(7, "zhaoliu"); 18 map.put(99, "zhaoliu"); 19 map.put(87, "xiaoqiang"); 20 map.put(42, "wangcai"); 21 22 show1(map); 23 24 show2(map); 25 26 showValue(map); 27 28 } 29 30 public static void showValue(Map<Integer, String> map) { 31 Collection<String> values = map.values(); 32 Iterator<String> it = values.iterator(); 33 while (it.hasNext()) 34 { 35 System.out.println(it.next()); 36 } 37 } 38 39 public static void show2(Map<Integer, String> map) { 40 //通過Map轉成Set就可以迭代 41 //找到了另一種方法。 entrySet 42 //該方法將鍵和值的映射關系作為對象存儲到了Set集合中,而這個映射關系的類型就是Map.Entry類型(結婚證) 43 44 Set<Map.Entry<Integer, String>> entrySet = map.entrySet(); 45 Iterator<Map.Entry<Integer, String>> it = entrySet.iterator(); 46 /* 47 *也可以寫成 Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator(); 48 */ 49 50 while(it.hasNext()) 51 { 52 Map.Entry<Integer, String> me = it.next(); 53 Integer key = me.getKey(); 54 String value = me.getValue(); 55 System.out.println(key+"::"+value); 56 57 } 58 } 59 60 public static void show1(Map<Integer, String> map) { 61 //取出map中的所有元素。 62 //原理:通過keySet方法獲取map中所有的鍵所在的Set集合,在通過Set的迭代器獲取到每一個鍵, 63 //在對每一個鍵通過map集合的get方法獲取其對應的值即可。 64 65 Iterator<Integer> it = map.keySet().iterator(); 66 /* 67 * 相當於 Set<Integer> keySet = map.keySet(); 68 * Iterator<Integer> it = keySet.iterator(); 69 * 70 */ 71 72 while (it.hasNext()) 73 { 74 Integer key = it.next(); 75 String value = map.get(key); 76 System.out.println(key+"="+value); 77 } 78 } 79 80 }