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

Java第十周学习博客——Map集合、泛型与异常处理进阶(1)

Java第十周学习博客——Map集合、泛型与异常处理进阶

一、本周学习概述

本周主要深耕 Java 核心基础内容,突破了之前单一的单列集合学习,重点掌握双列集合 Map泛型的深度使用以及自定义异常三大核心知识点。相较于前期的基础语法,本周内容更偏向项目实操,是后续 Java 开发存储数据、规范代码、处理程序报错的核心基础。通过课堂学习、代码练习和错题复盘,我基本掌握了 Map 集合的遍历、常用实现类的区别、泛型的上下限以及异常的自定义抛出与捕获,同时解决了实操中集合数据存储、类型转换异常等问题。

二、核心知识点学习总结

(一)Map 双列集合体系

Map 集合是 Java 中键值对(key-value) 存储的单列集合,区别于 List、Set 单列集合,Map 中的每个元素都是由唯一的键和可重复的值组成,键不可重复、值可以重复,常用于存储一一对应关系的数据,比如学号对应学生信息、用户名对应密码等。

  1. Map 核心特点
    键(Key):唯一、无序,不允许重复,重复键会覆盖原有对应的值;
    值(Value):可重复、无序,支持存储任意类型数据;
    一个键唯一对应一个值,是项目中参数存储、数据映射的常用集合。
  2. 常用实现类对比
    本周重点学习了三个主流 Map 实现类,通过对比练习理清了适用场景:
  • HashMap:底层哈希表结构,线程不安全、查询速度快,允许存储 null 键和 null 值,日常开发最常用,适用于单线程大量数据查询场景。
  • LinkedHashMap:继承 HashMap,底层哈希表 + 双向链表,保留元素插入顺序,适合需要记录数据存储顺序的场景。
  • TreeMap:底层红黑树结构,会根据键的自然排序或自定义排序规则对元素排序,适合需要对键进行排序的场景。
  1. Map 常用方法与遍历方式
    常用基础方法包含put()添加元素、get()根据键取值、remove()根据键删除元素、containsKey()判断键是否存在、size()获取集合长度。

同时掌握了两种主流遍历方式,解决了之前无法遍历双列集合的问题:

  • 键找值遍历:通过keySet()获取所有键的集合,再循环通过键获取对应的值,逻辑简单易懂,适合新手使用。
  • 键值对遍历:通过entrySet()获取所有键值对对象,直接遍历键值对,效率更高,是开发中的首选遍历方式。

(二)泛型进阶使用

前期仅了解泛型的基础作用,本周深入学习了泛型的本质、通配符与上下限,彻底理解了泛型 “编译期间类型约束,运行期间消除泛型” 的核心原理。

  1. 泛型核心作用
    统一集合存储类型,避免任意类型数据存入集合导致的强制类型转换异常;在编译阶段校验数据类型,提前规避类型错误,让代码更安全、复用性更高。
  2. 泛型通配符与上下限
  • 无界通配符 <?`:代表任意未知类型,可接收任意泛型类型的集合,仅用于数据读取,不能添加元素。
  • 上界通配符:代表本类及子类,限制泛型类型的上限,常用于读取父类通用数据。
  • 下界通配符:代表本类及父类,限制泛型类型的下限,常用于写入数据。

通过实操练习,我解决了泛型方法参数类型不匹配的问题,学会通过通配符优化工具类代码,提升代码通用性。

(三)异常处理进阶与自定义异常

本周在基础异常捕获的前提下,重点学习了异常体系结构自定义异常,摆脱了只会简单 try-catch 的局限。

  1. 异常体系梳理
    Java 异常分为两大类:Error系统级错误(内存溢出、栈溢出,代码无法处理)、Exception程序异常(可通过代码捕获处理)。
    其中 Exception 又分为编译时异常(必须处理,否则程序无法编译)和运行时异常(代码运行时报错,如空指针、数组越界)。
  2. 自定义异常
    这是本周的重点实操内容。系统自带的异常无法满足业务场景(如成绩负数、年龄异常),因此可以继承 Exception 或 RuntimeException自定义异常类。
    核心流程:创建自定义异常类、重写构造方法、在业务代码中通过throw手动抛出异常、通过try-catch捕获处理或throws向上抛出。
    通过练习,我实现了成绩校验异常、账号长度异常等自定义场景,学会了用异常规范业务逻辑,让程序报错信息更精准。

三、本周代码实操问题与错题复盘

1. 常见问题 1:HashMap 键重复覆盖问题

实操初期测试添加重复键数据时,误以为 Map 会保留所有数据,结果发现重复键会直接覆盖旧值。
解决方法:牢记 Map 键唯一性特点,在存储数据前通过containsKey()判断键是否存在,根据业务需求选择覆盖或提示重复。

2. 常见问题 2:泛型通配符 <? extends 父类` 集合时,尝试添加元素直接编译报错。

原因总结:上界通配符只能读取数据,无法写入,因为编译器无法确定具体子类类型,为了类型安全禁止添加操作;写入场景优先使用下界通配符。

3. 常见问题 3:自定义异常未主动抛出

自定义异常类创建完成后,业务逻辑中未使用throw抛出,导致异常无法触发。
解决方法:自定义异常必须手动抛出,系统不会自动触发,校验条件不满足时主动抛出异常,才能实现业务报错拦截。

四、本周学习感悟与不足

本周所学内容是 Java 从基础语法过渡到项目开发的关键转折点,Map 集合是后续框架、数据存储的核心,泛型是规范代码、封装工具类的基础,自定义异常是项目业务容错的必备手段,实用性极强。

同时也发现了自己的不足:

  1. 对三种 Map 集合的底层原理理解不够透彻,仅会使用,对哈希表、红黑树的底层逻辑一知半解;
  2. 泛型上下限的使用场景容易混淆,复杂参数传递时偶尔出错;
  3. 代码封装能力不足,自定义异常工具类的编写不够简洁。

五、下周学习计划

  1. 深入学习 Map 集合底层源码,理解 HashMap 哈希冲突、扩容原理,吃透底层逻辑;
  2. 练习泛型工具类封装,熟练运用泛型上下限,掌握泛型方法、泛型类的高阶使用;
  3. 预习 Java IO 流基础知识点,提前熟悉文件读写、字节流、字符流核心概念;
  4. 多刷集合、异常相关编程题,巩固本周知识点,提升代码实操能力。

六、总结

第十周的学习让我跳出了基础语法的舒适区,掌握了 Java 开发中高频使用的集合进阶、泛型、自定义异常知识点。这些内容不仅是考试重点,更是后续做项目、写业务代码的核心基础。后续我会针对自己的薄弱点针对性练习,吃透底层原理,熟练运用知识点解决实际开发问题,夯实 Java 编程基础。

http://www.gsyq.cn/news/1524931.html

相关文章:

  • 在 Oracle EBS 中,工单(WIP)、BOM、车间领料与完工入库构成了离散制造的核心。结合您提到的“5大成本要素”和“成本中心”,这一套体系的设计哲学可以概括为:业财高度一体化、标准成本驱动业
  • MPC8309 USB控制器寄存器深度解析与驱动实践指南
  • 历时8个月,联合数字营销协会:2026苍南GEO优化服务商综合实力与服务口碑十强 - 速递信息
  • 2026年6月公告:劳力士中国区官方维修门店地址优化升级 最新服务热线同步启用 - 劳力士中国服务中心
  • 2026 南京首饰回收 TOP5 榜单,五门店黄金钻石首饰报价横向对比 - 讯息早知道
  • 开发多渠道创业营收整合统计程序,汇总多平台收入,清晰查看创业整体盈利结构。
  • OCRmyPDF自动纠偏终极指南:3分钟拯救歪斜扫描文档
  • 遗传算法实操分水岭:编码、适应度与参数协同设计
  • 2026年海安改灯到店前先看什么?产品来源、光型和密封细节这样问更省时间 - Ayu8888
  • 经典算法专题:四叉树交集
  • 2026年柳州市PMP培训机构哪家好?官方授权R.E.P.报考指南 - 众智商学院课程中心
  • MPC8272 FCC缓冲区描述符与参数RAM:嵌入式通信的“交通指挥官”
  • 深入解析PowerPC e500核心微架构:流水线、分支预测与中断实战
  • 2026深圳华强北黄金回收避坑指南:虚高报价+鬼秤缩水+恶意压纯度,三大套路逐一拆解 - 逸程
  • 锅炉蒸汽温度温度控制系统 模糊控制 simulink仿真3 (设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 联想拯救者工具箱终极指南:如何快速掌握笔记本性能调优的10个秘籍
  • 2026年众智商学院PMP加微信咨询怎么获取试听课?1980元费用35学时班期和题库资料确认 - 众智商学院官方
  • 告别模糊:用Real-ESRGAN-GUI轻松实现图片高清修复的完整指南
  • MPC8540 PowerQUICC III处理器:L2缓存与片上网络架构深度解析
  • 计算机Java毕设实战-基于 SpringBoot 的社区物业报修与设备维护管理系统 面向智慧小区的物业报修运维服务系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 基于微服务架构的高性能数据可视化解决方案:AJ-Report技术深度解析
  • 深入解析PCI总线时序与MPC8323E控制器实战应用
  • 2026年6月设备外壳公司推荐,耐磨损性能佳,长久使用依然如新 - 品牌推荐师
  • 用Python处理气象数据:从NetCDF文件到绘制南京上空温度垂直廓线图(附完整代码)
  • 如何快速掌握缠论技术分析:3天精通通达信可视化插件实战指南
  • 惠普OMEN游戏本终极性能控制:OmenSuperHub开源工具完全指南
  • 2026 南京钻戒变现避坑调研报告,五家线下门店实时打款实测 - 讯息早知道
  • 分享一下最近 VibeCoding 的项目部署工具:Kite
  • MPC8260 DMA引擎深度解析:SDMA与IDMA实战配置与性能优化
  • 2026北京黄金回收变现参考|正规回收门店选择指引 - 薛定谔的梨花猫