对(集合、泛型)的综合练习
一、接口与类的定义
1、定义Person类,包含字段姓名、年龄(String name;int age)字段
2、定义InformationDisplay接口,包含抽象方法Display()
3、定义学生类(Student),继承Person类,同时实现InformationDisplay接口;新定义学号字段,该字段类型为泛型T(T studentId);实现Display()方法,用于格式输出学生的学号、姓名、年龄信息
4、定义教师类(Teacher),继承Person类,同时实现InformationDisplay接口;新定义教师编号字段,该字段类型为泛型T(T teacherId);实现Display()方法,用于格式输出教师的编号、姓名、年龄信息
5、定义课程类(Course),实现InformationDisplay接口;并包含课程编号、课程名称、学分数字段(T courseId;String courseName;int credit);实现Display()方法,用于格式输出课程编号、课程名称、课程学分
二、数据及其存储定义
1、使用List存储学生、教师和课程对象;其中:学生和教师的泛型类型设置为String;课程泛型类型设置为Integer
存储2名学生信息,分别为:(“17550301”、“郭靖”、23);(“17550302”、“张无忌”、19)
存储2位教师信息,分别为:(“zjic001”、“张三丰”、56);(“zjic002”、“王重阳”、50)
存储3门课程信息,分别为:(1001、“Java程序设计”、6);(1002、“Android程序设计”、8);(1003、“项目应用”、4)
2、使用Map存储学生选课信息
“郭靖”选修了:“Java程序设计”、“Android程序设计”、“项目应用”
“张无忌”选修了:“Java程序设计”、“Android程序设计”
3、使用Map存储教师授课信息
“Java程序设计”、“Android程序设计”由“张三丰”授课
“Android程序设计”、“项目应用”由“王重阳”授课
三、数据查询要求
1、输出学号为“17550301”的学生所选的所有课程的学分总和
2、为课程设置默认比较器,要求以课程号排序
3、为课程设置指定比较器,要求以学分大小排序