JAVA Map集合

 

Map集合概述

  • Interface Map<K,V> K:键的类型;V:值的类型
  • 将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值


创建Map集合的对象

  • 多态的方式
  • 具体的实现类HashMap
复制代码
 1 import java.util.HashMap;
 2 import java.util.Map;
 3 
 4 /*
 5 Map集合概述
 6 
 7 - Interface Map<K,V> K:键的类型;V:值的类型
 8 - 将键映射到值的对象;不能包含重复的键;每个键可以映射到最多一个值
 9 - 举例:学生的学号和姓名
10 001 小白
11 002 小黑
12 003 小红
13 
14 创建Map集合的对象
15 
16 - 多态的方式
17 - 具体的实现类HashMap
18 */
19 public class MapDemo {
20     public static void main(String[] args) {
21         //创建集合对象
22         Map<String, String> map = new HashMap<String, String>();//HashMap保证了键的唯一性
23 
24         //添加方法:V put(K key,V value)将指定的值与该映射中的指定键相关联
25         map.put("001", "小白");
26         map.put("002", "小黑");
27         map.put("003", "小红");
28         map.put("003", "小绿");//当键重复时,会把原先的值替代调
29 
30         //输出集合对象
31         System.out.println(map);
32 
33     }
34 }
复制代码

 

Map集合的基本功能

 

 

复制代码
 1 import java.util.HashMap;
 2 import java.util.Map;
 3 
 4 public class MapDemo {
 5     public static void main(String[] args) {
 6         //创建集合对象
 7         Map<String, String> map = new HashMap<String, String>();//HashMap保证了键的唯一性
 8 
 9         //添加方法:V put(K key,V value)将指定的值与该映射中的指定键相关联
10         map.put("小黑", "小白");
11         map.put("小绿", "小红");
12         map.put("小蓝", "小紫");
13 
14         //V remove(Objedt key)根据键删除键值对元素
15         System.out.println(map.remove("小蓝"));//返回小紫
16         System.out.println(map.remove("小黄"));//返回null
17 
18         //void clear()移除所有的键值对元素
19         map.clear();//{}
20 
21         //boolean containsKey(Object key)判断集合是否包含指定的键
22         System.out.println(map.containsKey("小黑"));//true
23         System.out.println(map.containsKey("小白"));//false
24 
25         //boolean containsValue(Object value)判断集合是否包含指定的值
26         System.out.println(map.containsValue("小红"));//true
27         System.out.println(map.containsValue("小绿"));//false
28 
29         //boolean isEmpty()判断集合是否为空
30         System.out.println(map.isEmpty());//false
31 
32         //int size()集合的长度,也就是集合中键值对的个数
33         System.out.println(map.size());//3
34 
35         //输出集合对象
36         System.out.println(map);
37 
38     }
39 }
复制代码

 

Map集合的获取功能

 

   

复制代码
 1 import java.util.Collection;
 2 import java.util.HashMap;
 3 import java.util.Map;
 4 import java.util.Set;
 5 
 6 /*
 7 Map集合的获取功能
 8 
 9 V get(Object key)  根据键获取值 
10 Set<K> keySet()获取所有键的集合
11 Collection<V> values()获取所有值的集合
12 */
13 public class MapDemo2 {
14     public static void main(String[] args) {
15         //创建集合对象
16         Map<String, String> map = new HashMap<String, String>();
17 
18         //添加元素
19         map.put("小黑", "小白");
20         map.put("小绿", "小红");
21         map.put("小蓝", "小紫");
22 
23         //V get(Object key)  根据键获取值 
24         //        System.out.println(map.get("小黑"));//小白
25         //        System.out.println(map.get("小小"));//null
26 
27         //Set<K> keySet()获取所有键的集合
28         //        System.out.println(map.keySet());//[小蓝, 小黑, 小绿]
29         //遍历键集合
30         Set<String> ks = map.keySet();
31         for (String s : ks) {
32             System.out.println(s);
33         }
34 
35         //Collection<V> values()获取所有值的集合
36         //        System.out.println(map.values());//[小紫, 小白, 小红]
37         //遍历值集合
38         Collection<String> v = map.values();
39         for (String s : v) {
40             System.out.println(s);
41         }
42 
43     }
44 }
复制代码

 

Map集合的遍历

方式一:

  • 获取所有键的集合,用KeySet()方法实现
  • 遍历键的集合,获取到每一个键,用增强for实现
  • 根据键去找值,用get(Object key)方法实现

 

复制代码
 1 import java.util.HashMap;
 2 import java.util.Map;
 3 import java.util.Set;
 4 
 5 /*
 6 Map集合的获取功能
 7 
 8 V get(Object key)  根据键获取值 
 9 Set<K> keySet()获取所有键的集合
10 Collection<V> values()获取所有值的集合
11 */
12 public class MapDemo2 {
13     public static void main(String[] args) {
14         //创建集合对象
15         Map<String, String> map = new HashMap<String, String>();
16 
17         //添加元素
18         map.put("小黑", "小白");
19         map.put("小绿", "小红");
20         map.put("小蓝", "小紫");
21 
22         //Set<K> keySet()获取所有键的集合
23         //遍历键集合
24         Set<String> ks = map.keySet();
25         for (String k : ks) {
26             String v = map.get(k);
27             System.out.println(k + "," + v);
28         }
29 
30     }
31 }
复制代码

 

方式二

  • 获取所有键值对对象的集合 用Set<Map.Entry<K,V>>entrySet()
  • 遍历键值对对象的集合,得到每一个键值对对象,用增强for实现,得到每一个Map.Entry
  • 根据键值对对象获取键和值,用getKey()得到键,用getValue()得到值

 

复制代码
 1 import java.util.HashMap;
 2 import java.util.Map;
 3 import java.util.Map.Entry;
 4 import java.util.Set;
 5 
 6 /*
 7 Map集合的获取功能
 8 
 9 V get(Object key)  根据键获取值 
10 Set<K> keySet()获取所有键的集合
11 Collection<V> values()获取所有值的集合
12 */
13 
14 /*
15 方式二
16 获取所有键值对对象的集合 用**Set<Map.Entry<K,V>>entrySet()**
17 遍历键值对对象的集合,得到每一个键值对对象,用增强for实现,得到每一个**Map.Entry**
18 根据键值对对象获取键和值,用**getKey()**得到键,用**getValue()**得到值
19 */
20 
21 public class MapDemo2 {
22     public static void main(String[] args) {
23         //创建集合对象
24         Map<String, String> map = new HashMap<String, String>();
25 
26         //添加元素
27         map.put("小黑", "小白");
28         map.put("小绿", "小红");
29         map.put("小蓝", "小紫");
30 
31         //获取所有键值对对象的集合
32         Set<Entry<String, String>> es = map.entrySet();
33 
34         //遍历键值对对象的集合,得到每一个键值对对象
35 
36         for (Entry<String, String> me : es) {
37             //根据键值对对象获取键和值
38             String key = me.getKey();
39             String value = me.getValue();
40             System.out.println(key + "," + value);
41         }
42 
43     }
44 }
复制代码

 

posted @   忱康  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示