java学习第二十五课

暑期自学第二十五课,本节课学习 Set 集合,Set 属于 Collection 的子接口,最核心特点是元素无序、不能存放重复数据,和之前学的 List 区别很明显。
最先学习 HashSet,它是日常最常用的 Set 实现类。底层依靠哈希表存储数据,查询、添加、删除速度很快。想要做到去重,需要依靠 hashCode () 和 equals () 两个方法共同判断;如果我们自定义对象存入 HashSet,不去重写这两个方法,集合就无法识别内容相同的对象,会出现重复存储的问题,这也是本节课重点。
另外简单了解了存储特点:HashSet 不保证存取顺序。如果需要有序的 Set,可以选用 LinkedHashSet,它在哈希表基础上增加链表,能够保留元素存入顺序,效率会比 HashSet 稍低一点。
练习的时候遇到不少问题。一开始混淆 List 和 Set 特性,忘记 Set 不允许重复元素;存入自定义类对象时,没有重写 hashCode 与 equals,测试发现去重失效,反复调试才找到原因。同时我也分清适用场景:需要保存重复元素、依靠索引取值选 List;需要自动去除重复数据,优先选用 Set。
整体来看,这节课难点在于理解 HashSet 的去重原理。不能只记住用法,还要明白为什么要重写两个方法。之后我会多练习自定义实体存入 HashSet 的案例,巩固去重规则,下一节课继续学习 TreeSet 以及 Map 集合相关内容。

posted @ 2026-08-15 21:01  梁煜昊  阅读(8)  评论(0)    收藏  举报