学生选课系统

一、Java中的集合框架概括

集合概念

集合类:一种工具类,就像是容器,储存任意数量的具有共同属性的对象

集合的作用

在类的内部,对数据进行组织;

简单而快速的搜索大数量的条目;

有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;

有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的的唯一对象,而这个关键字可以是任意类型。

与数组相比——为何选择集合而不是数组

数组的长度固定,集合长度可变

数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象

二、collection接口&List接口简介

Collection接口

是Lict、Set和Queue接口的父接口

定义了可用于操作List、Set和Queue的方法——增删改查

List接口及其实现类——ArrayList

List是元素有序并且可以重复的集合,被称为序列 >列表是元素有序并且可以重复的集合,被称为序列

List可以精确的控制每个元素的插入位置,或删除某个位置元素>ArrayList——数组序列,是List的一个重要实现类 >列表可以精确的控制每个元素的插入位置,或删除某个位置元素

ArrayList——数组序列,是List的一个重要实现类

ArrayList底层是由数组实现的 >arrayist底层是由数组实现的

三、学生选课——创建学生类和课程类

四、学生选课---备选课程Ⅰ

添加了cr1、cr2,长度为2了,要是写4会怎样呢?

报错,数组下标越界

coursesToSelect长度为2,能够访问的位置只有0、1,add方法是在可以访问的位置上将相应元素插入进去,而原来位置上和之后元素都往后一位,如果传递的Index值等于容量,那么就会在当前List队尾将元素插入进去,当访问位置大于2时就会报数组下标越界异常,同样,当访问位置小于0也会报数组下标越界异常

五、学生选课---添加课程Ⅱ

六、学生选课——课程查询

方法一:size

我们复制cr1,复制在C语言之后,因为是在C语言之后,所以索引位置改成2

发现变成了1课程和3课程

因为重复添加的课程1的索引位置是2,而添加的课程3和4时,将他们添加到了被重复添加的课程1的后面,此时的3课程的索引位置应该是3,而4课程的索引位置应该是4

方法二:迭代器(Iterator)

方法三:for each方法

七、学生选课——课程修改

使用set方法修改

我们将重复添加的课程1改为课程7:毛概

课程八、学生选课——课程删除

方法一:remove方法取得位置元素传入

方法二:remove方法删除索引位置上的元素

方法三:removeAll方法

九、学生选课——应用泛型管理课程Ⅰ

能否向List中添加字符串呢?

泛型

十、学生选课——应用泛型管理课程Ⅱ

新建类,让其继承course类

选择它的超类为course

发现编译器报错了

因为Childcourse继承了course类型,course有含参构造器

所以编译器就不会自动添加一个隐式的无参构造器,在子类中又必须得调用父类的隐式构造器,

所以报错,我们可以手动在course类中添加一个无参构造器

注意:

基本类型会报错 

必须要使用包装类

 

 十一、学生选课——通过Set集合管理课程

 

 在学生类中创建泛型

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 项目概述 ………………………………………………………………………3 1.1开发背景 ………………………………………………………………………3 1.2 开发目的 ……………………………………………………………………3 1.3 开发运行境 ……………………………………………………………………3 1.4 系统功能 ………………………………………………………………………3 2.需求分析 …………………………………………………………………………3 2.1 系统需求 ………………………………………………………………………3 2.2 功能需求 ………………………………………………………………………3 2.3 业务流图 ………………………………………………………………………3 3.总体设计 …………………………………………………………………………4 3.1 基本设计概念和处理流程 ……………………………………………………4 3.2 系统层次模图 …………………………………………………………………4 3.3系统层次模块图 ………………………………………………………………4 3.4模块设计 ………………………………………………………………………5 4.数据库计 …………………………………………………………………………5 4.1 数据库的逻辑设计 ……………………………………………………………5 4.2数据库的配置……………………………………………………………………6 5. 详细设计 ………………………………………………………………………8 5.1 学生登录模块的设计与实现 …………………………………………………8 5.2 学生注册模块的设计与实现 …………………………………………………9 5.3 学生查询模块的设计与实现…………………………………………………9 5.4 学生选课模块的设计与实现…………………………………………………10 6 测试及提交 ……………………………………………………………………10 7 项目小组成员及详细分工 ……………………………………………………10 8 附:模块源代码 ………………………………………………………………11

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值