Java29
1、今天做了什么:
系统学习Set集合体系,重点掌握HashSet的基础用法、创建方式和常用成员方法;深入理解HashSet基于哈希表的底层存储原理,弄懂元素唯一性、无序性的核心原因;完成字符串、自定义对象的存储与去重实操练习,解决自定义对象无法自动去重的问题;系统梳理List集合与Set集合的核心区别,涵盖有序性、可重复性、底层结构、适用场景四大核心维度;完成对应随堂练习题,熟练区分两种集合体系的使用场景,巩固集合选型逻辑。
2、明天准备做什么:
深入学习HashSet去重底层源码逻辑,掌握hashCode()与equals()方法的重写规则;学习TreeSet集合特性,了解其自然排序、比较器排序的实现方式;练习复杂自定义对象的排序、去重案例;整理Set集合全套知识点笔记,完成集合综合拔高习题。
3、遇到的问题,如何解决:
学习中发现存储自定义对象时,HashSet无法实现内容去重,相同属性的重复对象可正常存入集合。解决方式:排查底层原理后明确,HashSet去重依赖hashCode()和equals()方法,自定义实体类未重写这两个方法时,会默认使用Object类方法,仅对比对象地址而非属性内容;随即手动重写对应实体类的hashCode()与equals()方法,根据对象核心属性判断重复,成功实现自定义对象精准去重,同时将该核心知识点整理归档,避免后续再次出错。
浙公网安备 33010602011771号