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 }