缺什么补什么:别在集合框架上假装都会

很多转岗或自学 Java 的人,语法能写个大概,一到做项目就卡在数据存取上。数组长度固定、删个元素要手动移位,碰上键值对或者需要按规则排序的场景,直接抓瞎。这门课解决的就是这个基础断层问题:让你不再只会用基本数组,而是能用标准库的容器去装数据、改数据、遍历数据。如果你写增删改查还在用固定数组硬扛,或者用过 ArrayList 但说不清它和 LinkedList 的区别,那这就是你的能力缺口。别指望靠业务框架掩盖基础漏洞,底层容器怎么存取、怎么扩容、怎么比较,早晚要在实际写代码时还债。本课门槛很低,只要懂基本的控制流和面向对象概念就能跟上。

先看哪几块,怎么配合资料练习

资料内容是连贯的,建议按顺序补,不要跳着看。第一块是泛型和上下转型,这是看懂集合源码和避免类型转换异常的前提,必须先过。第二块是单列容器的核心,重点看 ArrayList 的增删查改与迭代器,紧接着 LinkedList 和栈、队列的实现。这两块看完,直接去跟通讯录那个综合案例,它是把前面零碎知识点揉在一起练手的实战。第三块是双列容器与排序,重点啃 HashMap 的键值存储机制,以及 TreeMap 配合 Comparable 和 Comparator 的两种排序方式。练习时,别光盯着视频看,每学完一个容器,自己建个工程类,造几条数据,手动写遍历、删除和排序代码。资料里的通讯录案例一定要自己敲一遍,不要复制粘贴,卡住了再回看对应章节。

看完应能回答的问题与独立产出

学完这套资料,你得能脱稿答出几个硬核问题:泛型在集合存取时起到了什么作用?ArrayList 和 LinkedList 在头部插入和随机访问时性能差异在哪?HashMap 存键值对时怎么处理哈希冲突?想让自定义对象按指定规则排序,自然排序和第三方比较器分别怎么写,什么时候用哪个?能答出这些,才算把框架吃透了。从独立产出看,你应该能脱离任何现成框架,纯靠原生自带的集合类,从零写出一个带交互逻辑的通讯录系统。这个系统能实现联系人的增删改查、按名字或年龄排序输出、不重复存储。做到这一步,说明你真正掌握了容器的组合使用,而不是只会背几个名词。

课程目录

1 泛型 (23:17)
2 集合框架 (34:44)
3 向上转型和向下转型 (29:43)
4 ArrayList学习 (59:11)
5 详细讲解集合元素迭代与LinkedList (35:47)
6 栈(stack) (25:15)
7 Queue接口及实现类ArrayBlockingQueue (19:55)
8 ArrayList版通讯录开发 (01:06:55)
9 讲解HashMap (48:32)
10 讲解TreeMap与自然顺序Comparable接口 (39:39)
11 讲解TreeMap与第三方比较器Comparator (19:53)
12 讲解HashSet和HashMap (27:39)