第09周 预习、实验与作业:Java集合框架
目录
0.任务完成说明
此次预习除了预习课件外,请略微思考一下课前问题列表的问题。下周课堂上将进行讨论。
1.预习
简易预习流程: 先看预习课件,认真完成里面的习题。然后根据需要观看视频。最后尝试完成课前问题列表。
1.1 学习目标
- 掌握Java集合框架(Java Collection Framework)中的Collection、Map接口及其常见实现类。
- 能够根据应用场景灵活选择集合框架中常见实现类**List(ArrayList、LinkedList)、Set(HashSet、TreeSet)、Map(HashMap)接口应用。
1.2 预习任务
- 预习课件(两份:集合1、集合2);
- 线上视频:6.2(集合概述)、6.3(List接口)-最常用、6.4(Iterator迭代器)-遍历集合的利器、6.5(Set接口)-同一件东西只能存放一次、6.6(Map接口,原理是难点)-快速的查找、6.8(集合应用)-用集合来表示对象之间的关系。
1.3 课前问题列表
- 用户邮箱有一个垃圾邮件过滤功能。当检测到疑似垃圾邮件的时候,就将其存储起来。以备用户查看、搜索(支持多种条件搜索)、移除、清空。有的时候垃圾邮件比较多,有的时候垃圾邮件比较少。请问选择什么样的接口及实现类好呢?说明原因。
- 选修课名单数据处理
2.1 每个学期报选修课,一个学生可以选择多门选修课。想要找出既报了"音乐鉴赏"选修又报了"羽毛球"选修的所有学生,用哪些接口及实现类好呢?使用哪些方法呢?
2.2 现在想得到一个大名单,该名单包含了"音乐鉴赏"选修与"羽毛球"选修的学生名单(学生不能重复),要怎么办呢?
2.3 找出选修了"音乐鉴赏"但未选修"羽毛球"的学生名单? - 火车站只允许买票的乘客(根据身份证号确定)进入大厅。因为人流量特别大,因此需要查询特别快。请问使用什么接口及实现类呢?
- 12306开发了代客抢票功能。所有要抢某个车次的乘客被排到一个队列中,当该车次有余票时,就从等待队列的队头取出等待乘客帮其下单。请问是用什么接口及实现类?
2.实验
- 实验链接:Java第06次实验提纲(Java集合框架)
- PTA函数:f6.1; PTA编程:6.1-6.6
- 提前完成6.1 ArrayListIntegerStack、6.2 银行业务队列简单模拟请联系助教检查加分。
- JUnit5 入门
- 特别加分任务:“倒排索引(PTA)”、“逆向最大匹配分词算法”。完成后请实验课上练习老师检查加分。
3.课后任务(作业)
3.1 在线学习平台
- 视频
6.7 泛型
6.8 集合应用(重点观看,以学习其中的面向对象设计思想)
6.10 Collections - 讨论
6.3.2 思考:ArrayList与LinkedList的区别
6.4 思考:使用迭代器进行遍历
6.5 练一练:HashSet
6.6 练一练:Map接口应用
6.6 集合的选择
6.7 思考(可选):ArrayList源代码分析
6.8.2 思考:使用集合来改造你的购物车
6.8.2 思考:随机生成大量不同的id
6.9 思考(可选):集合常用方法深入
6.10 思考(可选):Collections
3.3 OO设计大作业(可选)
大家到现在已经熟悉了学生管理系统与购物车商城管理系统。现在尝试自己根据实际问题或者自己想出来的问题,使用所学OO设计思想与集合框架等技术,以面向对象的方式设计并实现一个小系统。
- 请使用Markdown格式编写此报告。完成后联系老师检查加分。
- 分组不得超过3人。
- 可使用AI辅助选题、进行OO设计。
参考资料:
第6次任务:面向对象大作业-自主选题

浙公网安备 33010602011771号