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 }