集合框架-Map重点方法entrySet演示
1 package cn.itcast.p6.map.demo; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Map; 6 import java.util.Set; 7 8 public class MapDemo { 9 public static void main(String[] args) { 10 Map<Integer,String> map = new HashMap<Integer, String>(); 11 // method(map); 12 method_3(map); 13 } 14 public static void method_3(Map<Integer, String> map) { 15 map.put(8, "wangwu"); 16 map.put(2, "zhaoliu"); 17 map.put(7, "xiaoqiang"); 18 map.put(6, "wangcai"); 19 20 21 /* 22 * 通过Map转成set就可以迭代。 23 * 找到了另一个方法。entrySet。 24 * 该方法将键和值的映射关系作为对象存储到了Set集合中,而这个映射关系的类型就是Map.Entry类型 25 * 26 */ 27 Set<Map.Entry<Integer, String>> entrySet = map.entrySet(); 28 29 Iterator<Map.Entry<Integer, String>> it = entrySet.iterator(); 30 31 while(it.hasNext()) { 32 Map.Entry<Integer, String> me = it.next(); 33 Integer key = me.getKey(); 34 String value = me.getValue(); 35 System.out.println(key+"::::"+value); 36 } 37 38 } 39 40 interface MyMap{ 41 public static interface MyEntry{//内部接口 类似于Map.Entry 42 void get(); 43 } 44 } 45 class MyDemo implements MyMap.MyEntry{ 46 public void get() { 47 48 } 49 } 50 class Outer{ 51 static class Inner{ 52 static void show() { 53 54 } 55 } 56 } 57 public static void method_2(Map<Integer, String> map) { 58 map.put(8, "wangwu"); 59 map.put(2, "zhaoliu"); 60 map.put(7, "xiaoqiang"); 61 map.put(6, "wangcai"); 62 63 //取出map中的所有元素。 64 //原理,获取keySet方法获取map中所有的键所在的Set集合,再通过Set的迭代器获取到每一个键 65 //再对每一个键通过map集合的get方法获取其对应的值即可。 66 67 Set<Integer> keySet = map.keySet(); 68 69 Iterator<Integer> it = keySet.iterator(); 70 71 while(it.hasNext()) { 72 Integer key = it.next(); 73 String value = map.get(key); 74 System.out.println(key+":"+value); 75 } 76 } 77 public static void method(Map<Integer,String> map) {//学号和姓名 78 //添加元素 79 80 System.out.println(map.put(8, "wangcai"));//null 81 System.out.println(map.put(8, "xiaoqiang"));//wangcai 存相同键值会覆盖 82 map.put(2, "zhangsan"); 83 map.put(7, "zhaoliu"); 84 85 //删除。 86 System.out.println("remove:"+map.remove(2));//remove:zhangsan 87 System.out.println(map);//{7=zhaoliu, 8=xiaoqiang} 88 89 //判断。 90 System.out.println("containskey:"+map.get(8));//containskey:xiaoqiang 91 92 //获取。 93 System.out.println("get:"+map.get(6));//get:null 94 System.out.println(map); 95 96 97 } 98 }