集合框架-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 }
MapDemo

 

posted @ 2021-10-24 21:15  doremi429  阅读(17)  评论(0编辑  收藏  举报