目录
#1 每个学期报选修课,一个学生可以选择多门选修课。想要找出既报了"音乐鉴赏"选修又报了"羽毛球"选修的所有学生,用哪些接口及实现类好呢?使用哪些方法呢?
#2 现在想得到一个大名单,该名单包含了"音乐鉴赏"选修与"羽毛球"选修的学生名单(学生不能重复),要怎么办呢?
#火车站只允许买票的乘客(根据身份证号确定)进入大厅。因为人流量特别大,因此需要查询特别快。请问使用什么接口及实现类呢?
#12306开发了代客抢票功能。所有要抢某个车次的乘客被排到一个队列中,当该车次有余票时,就从等待队列的队头取出等待乘客帮其下单。请问是用什么接口及实现类
-
1.3 课前问题列表
-
用户邮箱有一个垃圾邮件过滤功能。当检测到疑似垃圾邮件的时候,就将其存储起来。以备用户查看、搜索(支持多种条件搜索)、移除、清空。有的时候垃圾邮件比较多,有的时候垃圾邮件比较少。请问选择什么样的接口及实现类好呢?说明原因。
- 接口:SpamFilter
- 实现类:SimpleSpamFilter - . 【接口(Interface):接口是一种抽象的数据类型,它定义了一组方法的签名(方法名、参数和返回类型),但没有具体的实现。接口可以被类实现(implements),表示类将遵循接口定义的方法。接口提供了一种契约,规定了类应该具有的行为,使得代码更加模块化、可扩展和可重用。
2. 实现类(Implementation Class):实现类是实现了接口定义的类。它必须提供接口中定义的所有方法的具体实现。实现类可以根据接口的要求,自定义实现方法的逻辑。实现类可以创建对象,调用接口中定义的方法,并根据具体需求进行处理。】
原因:SpamFilter接口定义了垃圾邮件过滤的基本功能,包括存储、查看、搜索、移除和清空等操作。SimpleSpamFilter是一个实现类,适用于垃圾邮件数量较少,它可以使用内存或者简单的数据结构来存储垃圾邮件,提供基本的搜索和操作功能。-
每个学期报选修课,一个学生可以选择多门选修课。想要找出既报了"音乐鉴赏"选修又报了"羽毛球"选修的所有学生,用哪些接口及实现类好呢?使用哪些方法呢?
- - 接口:CourseRegistration
- 实现类:StudentCourseRegistration
方法:getStudentsWithCourses(String course1, String course2)
原因:CourseRegistration接口定义了学生选修课的基本功能,包括添加选修课、查询选修课等操作。StudentCourseRegistration是一个实现类,可以使用一个数据结构(如HashMap)来存储学生选修课的信息,通过getStudentsWithCourses方法可以查询既报了"音乐鉴赏"选修又报了"羽毛球"选修的学生名单。 -
现在想得到一个大名单,该名单包含了"音乐鉴赏"选修与"羽毛球"选修的学生名单(学生不能重复),要怎么办呢?
- 要得到包含"音乐鉴赏"选修与"羽毛球"选修的学生名单,可以选择以下方法:
- 使用Set数据结构,将两个选修课的学生名单分别存储在两个集合中,然后取两个集合的交集即可得到既报了"音乐鉴赏"选修又报了"羽毛球"选修的学生名单 -
找出选修了"音乐鉴赏"但未选修"羽毛球"的学生名单?
- - 使用Set数据结构,将"音乐鉴赏"选修的学生名单存储在一个集合中,将"羽毛球"选修的学生名单存储在另一个集合中,然后取两个集合的差集即可得到选修了"音乐鉴赏"但未选修"羽毛球"的学生名单。
-
火车站只允许买票的乘客(根据身份证号确定)进入大厅。因为人流量特别大,因此需要查询特别快。请问使用什么接口及实现类呢?
- 接口:TicketPassengerQuery
- 实现类:FastTicketPassengerQuery
原因:TicketPassengerQuery接口定义了乘客查询的基本功能,包括根据身份证号查询乘客信息等操作。FastTicketPassengerQuery是一个实现类,可以使用高效的数据结构(如哈希表)来存储乘客信息,以实现快速查询。