当前位置: 首页 > news >正文

【JAVA架构师成长之路】【JDK源码】第5集:Map集合框架与泛型


课程标题:Map集合框架与泛型(15分钟)

目标:掌握泛型在Map中的键值类型约束,理解类型安全的键值操作,熟练使用泛型Map解决实际问题


0-1分钟:泛型Map的意义引入

以“字典翻译”类比泛型Map:明确键和值的类型(如英文→中文)。说明泛型Map的作用——确保键值对的类型一致性,避免运行时类型错误


1-3分钟:非泛型Map的隐患

演示原生Map的风险操作:

Map rawMap = new HashMap();  
rawMap.put("age", 25);  
rawMap.put(100, "非法键");  // 编译通过,但键类型混乱  
String value = (String) rawMap.get("age"); // 运行时ClassCastException!  

结论:原生Map允许任意类型键值,导致类型混乱和潜在错误。


3-5分钟:泛型Map的声明与操作

定义并操作类型安全的泛型Map:

Map<String, Integer> studentScores = new HashMap<>();  
studentScores.put("Alice", 90);  
// studentScores.put(100, "Bob");  // 编译报错!键值类型不匹配  
int score = studentScores.get("Alice");  // 直接获取Integer,无需强制转换  

核心规则

  • 键类型K和值类型V需在声明时明确
  • 类型不匹配的操作会被编译器拦截

5-7分钟:泛型Map的遍历与类型安全

安全遍历键值对:

for (Map.Entry<String, Integer> entry : studentScores.entrySet()) {  String name = entry.getKey();     // 直接获取String类型  int score = entry.getValue();     // 直接获取Integer类型  System

http://www.mrgr.cn/news/93343.html

相关文章:

  • 【leetcode hot 100 73】矩阵置零
  • PythonWeb开发框架—Flask工程创建和@app.route使用详解
  • Redis|集群 Cluster
  • 软考架构师笔记-存储管理
  • 【15】蚂蚁链产品与服务
  • AI绘画软件Stable Diffusion详解教程(6):文生图、提示词细说与绘图案例
  • java+jvm笔记
  • 【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)
  • SQL注入的原理及详细运用
  • 从0到1入门Linux
  • java 重点知识 — JVM存储模块与类加载器
  • 从0开始的操作系统手搓教程21:进程子系统的一个核心功能——简单的进程切换
  • Webpack分包与合包深度解析
  • Python 网络爬虫教程与案例详解
  • qt实践教学(编写一个代码生成工具)持续更新至完成———
  • HCIA-IP路由动态-RIP
  • c++里左值和右值
  • 带你从入门到精通——自然语言处理(五. 自注意力机制和transformer的输入部分)
  • SpringBoot系列之Spring AI+DeekSeek创建AI应用
  • JavaWeb-HttpServletRequest请求域接口