缺什么补什么:Java集合体系的核心缺口

很多转岗或查漏补缺的开发者,写业务代码时总离不开List和Set,但一被问到ArrayList和LinkedList的底层差异、扩容机制或者Vector为什么被淘汰,就开始含糊其辞。这门Java集合专题课解决的就是这种“只会调API、不懂底层逻辑”的痛点。它不教你基础语法,默认你已经掌握了Java面向对象、泛型以及基本控制流。如果你连基本的多态和接口实现都写不顺,建议先补齐前置语法再来看。课程直接切入集合框架的类与接口继承体系,从List体系下的ArrayList、Vector、Stack、LinkedList一路往下拆,顺带会延伸到Set体系。适合那些能熟练用集合存取数据,但在面对性能选型、底层源码或集合相关面试题时经常卡壳的人。

怎么练:先看底层再看性能对比

资料包里的内容是严格按“概念引入-具体实现-性能对比-综合练习”的链条组织的。建议先看集合简介部分,把Collection接口的继承关系和各个实现类的定位理清,别一上来就死磕代码。接着重点看List体系,ArrayList是重中之重,它的动态数组扩容逻辑是后续理解其他集合的基础。看完ArrayList和LinkedList后,必须紧跟着看那节性能对比课,自己把两种结构在头插、尾插、随机访问时的耗时差异跑一遍。资料包里自带了三个专项练习,前两个针对ArrayList的增删改查和对象遍历,第三个是综合练习。不要只看视频里的演示,必须自己把练习题敲完,遇到报错先自己查API文档,而不是直接翻答案。资料包里的代码是用来验证你的理解是否正确的,不是用来抄的。

学完能独立做什么

学完这部分,你不应该只是记住几个类名,而要具备在真实业务场景里做集合选型的能力。当你需要频繁读取固定长度的数据列表时,能果断用ArrayList;当业务涉及大量频繁插入删除且无需随机访问时,能想到LinkedList;当遇到历史遗留的线程安全需求时,能解释清楚为什么现在更推荐并发集合而不是Vector。同时,你应该能独立完成基于集合的业务逻辑封装,比如用ArrayList实现自定义对象的批量管理、过滤和排序,并能通过调试工具看清集合扩容时底层数组的变化过程。资料包里的综合练习就是检验这块能力的试金石,如果你能不看视频独立把练习里的业务逻辑跑通,并且能向别人解释清楚为什么这里用ArrayList而不是数组,这季的内容才算真正补到你的能力缺口里。

课程目录

1-1 [集合简介] 集合简介 (14:45)
1-2 [集合简介] 集合相关的类和接口 (07:45)
2-1 [List集合] ArrayList_1 (12:39)
2-2 [List集合] ArrayList_2 (20:02)
2-3 [List集合] ArrayList_3 (08:09)
2-4 [List集合] Vector (18:41)
2-5 [List集合] Stack (10:42)
2-6 [List集合] LinkedList (12:42)
2-7 [List集合] ArrayList和LinkedList性能对比 (04:47)
2-8 [List集合] 练习1_ArrayList (17:58)
2-9 [List集合] 练习2_ArrayList (17:31)
2-10 [List集合] 练习3_综合 (30:31)
3-1 [Set集合] HashSet_1 (20:15)
3-2 [Set集合] HashSet_2 (25:52)
3-3 [Set集合] TreeSet_1 (05:19)
3-4 [Set集合] TreeSet_2 (24:37)
3-5 [Set集合] TreeSet_3 (09:19)
4-1 [Map集合] HashMap_1 (21:57)
4-2 [Map集合] HashMap_2 (18:36)
4-3 [Map集合] 练习_HashMap (15:45)
4-4 [Map集合] Hashtable (09:55)
4-5 [Map集合] Properties_1 (09:25)
4-6 [Map集合] Properties_2 (17:46)
4-7 [Map集合] Properties_3 (04:05)
5-1 [其他] Collections工具类 (13:50)
5-2 [其他] 练习_Collections (08:32)
5-3 [其他] 总结_1 (06:18)
5-4 [其他] 总结_2 (05:56)