JavaSE-16.1.1【Map集合的特点、基本功能、获取功能、两种遍历方法】

 1 package day7.lesson1;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 
 6 /*
 7 1 Map
 8 
 9 1.1 Map集合的特点
10 
11     interface Map<K,V> K:键的类型;V:值的类型
12 
13     键值对映射关系
14     一个键对应一个值
15     键不能重复,值可以重复
16     元素存取无序
17 
18     创建Map集合的对象:通过多态的方式,具体实现类HashMap
19 
20  */
21 public class MapDemo1 {
22     public static void main(String[] args) {
23         Map<String, String> map = new HashMap<>();
24 
25         map.put("itheima001", "张三");
26         map.put("itheima002", "王五");
27         map.put("itheima003", "李四");
28 
29         System.out.println(map); //{itheima003=李四, itheima001=张三, itheima002=王五}
30 
31         map.put("itheima003", "赵六");
32         System.out.println(map); //{itheima003=赵六, itheima001=张三, itheima002=王五}
33 
34         //键第一次出现时,put()起到添加功能
35         // 后面再出现已有的相同键,put()则起到修改(替代、覆盖)功能
36     }
37 }
 1 package day7.lesson1;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 
 6 /*
 7 1.2 Map集合的基本功能
 8 
 9     V put(K key,V value) 添加元素
10     V remove(Object key) 根据键删除键值对元素
11     void clear() 移除所有的键值对元素
12     boolean containsKey(Object key) 判断集合是否包含指定的键
13     boolean containsValue(Object value) 判断集合是否包含指定的值
14     boolean isEmpty() 判断集合是否为空
15     int size() 集合的长度,也就是集合中键值对的个数
16 
17  */
18 public class MapDemo2 {
19     public static void main(String[] args) {
20         Map<String, String> map = new HashMap<>();
21 
22         map.put("aaa", "AAA");
23         map.put("bbb", "BBB");
24         map.put("ccc", "CCC");
25 
26 //        System.out.println(map.remove("ccc")); //CCC
27 //        System.out.println(map.remove("fff")); //null
28 
29 //        map.clear(); //{}
30 
31         System.out.println(map.containsKey("aaa")); //true
32         System.out.println(map.containsValue("GGG")); //false
33 
34         System.out.println(map.isEmpty());
35 
36         System.out.println(map.size()); //3
37 
38         System.out.println(map);
39     }
40 }
 1 package day7.lesson1;
 2 
 3 import java.util.Collection;
 4 import java.util.HashMap;
 5 import java.util.Map;
 6 import java.util.Set;
 7 
 8 /*
 9 1.3 Map集合的获取功能
10 
11     V get(Object key) 根据键获取值
12     Set keySet() 获取所有键的集合
13     Collection values() 获取所有值的集合
14     Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象的集合 (详见MapDemo4.java中Map集合遍历方式2)
15 
16  */
17 public class MapDemo3 {
18     public static void main(String[] args) {
19         Map<String, String> map = new HashMap<>();
20 
21         map.put("aaa", "AAA");
22         map.put("bbb", "BBB");
23         map.put("ccc", "CCC");
24 
25         System.out.println(map.get("bbb")); //BBB
26         System.out.println(map.get("ggg")); //null
27 
28         Set<String> keySet = map.keySet();
29         for(String s: keySet){
30             System.out.print(s + " "); //aaa ccc bbb
31         }
32         System.out.println();
33 
34         Collection<String> values = map.values();
35         for(String s: values){
36             System.out.print(s + " "); //AAA CCC BBB
37         }
38         System.out.println();
39     }
40 }
 1 package day7.lesson1;
 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 import java.util.Set;
 6 
 7 /*
 8 1.4 Map集合的遍历
 9 
10     方式1
11         遍历思路
12             我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合
13             把所有的丈夫给集中起来
14             遍历丈夫的集合,获取到每一个丈夫
15             根据丈夫去找对应的妻子
16         步骤分析
17             获取所有键的集合。用keySet()方法实现
18             遍历键的集合,获取到每一个键。用增强for实现
19             根据键去找值。用get(Object key)方法实现
20 
21     方式2
22         遍历思路
23             我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合
24             获取所有结婚证的集合
25             遍历结婚证的集合,得到每一个结婚证
26             根据结婚证获取丈夫和妻子
27         步骤分析
28             获取所有键值对对象的集合
29                 Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合
30             遍历键值对对象的集合,得到每一个键值对对象
31                 用增强for实现,得到每一个Map.Entry
32             根据键值对对象获取键和值
33                 用getKey()得到键,用getValue()得到值
34  */
35 public class MapDemo4 {
36     public static void main(String[] args) {
37         Map<String, String> map = new HashMap<>();
38 
39         map.put("aaa", "AAA");
40         map.put("bbb", "BBB");
41         map.put("ccc", "CCC");
42 
43         //遍历方式1
44         Set<String> keySet = map.keySet();
45         for(String key: keySet){
46             String value = map.get(key);
47             System.out.println("key:" + key + ", value:" + value);
48         }
49         /*
50         key:aaa, value:AAA
51         key:ccc, value:CCC
52         key:bbb, value:BBB
53          */
54 
55         //遍历方式2
56         Set<Map.Entry<String, String>> entrySet = map.entrySet(); //获取所有键值对对象的集合
57         for (Map.Entry<String, String> me: entrySet){
58             String key = me.getKey();
59             String value = me.getValue();
60             System.out.println("key:" + key + ", value:" + value);
61         }
62         /*
63         key:aaa, value:AAA
64         key:ccc, value:CCC
65         key:bbb, value:BBB
66          */
67     }
68 }

 

posted @ 2021-06-02 16:23  yub4by  阅读(68)  评论(0编辑  收藏  举报