集美大学 计算机 郑如滨

教学博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

第09周 预习、实验与作业:Java集合框架

0.任务完成说明

此次预习除了预习课件外,请略微思考一下课前问题列表的问题。下周课堂上将进行讨论。

1.预习

简易预习流程: 先看预习课件,认真完成里面的习题。然后根据需要观看视频。最后尝试完成课前问题列表。

1.1 学习目标

  1. 掌握Java集合框架(Java Collection Framework)中的Collection、Map接口及其常见实现类。
  2. 能够根据应用场景灵活选择集合框架中常见实现类**List(ArrayList、LinkedList)、Set(HashSet、TreeSet)、Map(HashMap)接口应用。

1.2 预习任务

  1. 预习课件(两份:集合1、集合2);
  2. 线上视频:6.2(集合概述)、6.3(List接口)-最常用、6.4(Iterator迭代器)-遍历集合的利器、6.5(Set接口)-同一件东西只能存放一次、6.6(Map接口,原理是难点)-快速的查找、6.8(集合应用)-用集合来表示对象之间的关系。

1.3 课前问题列表

  1. 用户邮箱有一个垃圾邮件过滤功能。当检测到疑似垃圾邮件的时候,就将其存储起来。以备用户查看、搜索(支持多种条件搜索)、移除、清空。有的时候垃圾邮件比较多,有的时候垃圾邮件比较少。请问选择什么样的接口及实现类好呢?说明原因。
  2. 选修课名单数据处理
    2.1 每个学期报选修课,一个学生可以选择多门选修课。想要找出既报了"音乐鉴赏"选修又报了"羽毛球"选修的所有学生,用哪些接口及实现类好呢?使用哪些方法呢?
    2.2 现在想得到一个大名单,该名单包含了"音乐鉴赏"选修与"羽毛球"选修的学生名单(学生不能重复),要怎么办呢?
    2.3 找出选修了"音乐鉴赏"但未选修"羽毛球"的学生名单?
  3. 火车站只允许买票的乘客(根据身份证号确定)进入大厅。因为人流量特别大,因此需要查询特别快。请问使用什么接口及实现类呢?
  4. 12306开发了代客抢票功能。所有要抢某个车次的乘客被排到一个队列中,当该车次有余票时,就从等待队列的队头取出等待乘客帮其下单。请问是用什么接口及实现类?

2.实验

  1. 实验链接:Java第06次实验提纲(Java集合框架)
    1. PTA函数:f6.1; PTA编程:6.1-6.6
    2. 提前完成6.1 ArrayListIntegerStack、6.2 银行业务队列简单模拟请联系助教检查加分。
    3. JUnit5 入门
    4. 特别加分任务:“倒排索引(PTA)”、“逆向最大匹配分词算法”。完成后请实验课上练习老师检查加分。

3.课后任务(作业)

3.1 在线学习平台

  1. 视频
    6.7 泛型
    6.8 集合应用(重点观看,以学习其中的面向对象设计思想)
    6.10 Collections
  2. 讨论
    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次任务:面向对象大作业-自主选题

posted on 2025-10-30 09:39  zhrb  阅读(20)  评论(0)    收藏  举报