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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY