模拟数据结构存储

模拟数据结构存储的案例
我们先来简单的普及一点NBA的知识,按照NBA球队来模拟此次数据结构的案例
通常情况下,NBA规定一支球员只能拥有15名球员,其中每场比赛只能有12人轮换,但是如果某支球队伤病特别严重的情况下可以特别批准再引进一名球员,具体规定如下。
如果一支球队的6名伤员中有4人缺席了至少三场比赛,并且要休息两个星期以上,这支球队可以向联盟申请增加一名球员。
NBA球队夏季季前赛联赛的时候人数没有限制,但是每场比赛只能报12人的大名单,常规赛开始之前必须裁掉多余的人,此后常规赛期间只能保持15或少于15个人的大名单,每场常规赛只能报名12人。

模拟需求:
(1):初始化一个容量为5的列表,用来模式上场的球员
(2):确定上场的球员(添加球员),如添加球衣编号为1,2,3,4,5,这五个球员
(3):根据球衣号码确定该球员在列表中的索引
(4):替换索引为1的球员
(5):替换秋衣号码为3的球员,换6号球员上场
(6):查询索引为3的球员的球衣号码
(7):按照索引顺序打印上场球员的球衣号码
(8):删除索引为2的球员,教练还没想好最后一个球员让谁上
下面是代码的实现
(1):初始化一个容量为5的列表,用来模式上场的球员
在这里插入图片描述
在这里插入图片描述
(2):确定上场的球员(添加球员),如添加球衣编号为1,2,3,4,5,这五个球员
在这里插入图片描述
在这里插入图片描述
(3):根据球衣号码确定该球员在列表中的索引
在这里插入图片描述
在这里插入图片描述
(4):替换索引为1的球员
在这里插入图片描述
在这里插入图片描述
(5):替换秋衣号码为3的球员,换6号球员上场
在这里插入图片描述
在这里插入图片描述
(6):查询索引为3的球员的球衣号码
在这里插入图片描述
在这里插入图片描述
(7):按照索引顺序打印上场球员的球衣号码
在这里插入图片描述
在这里插入图片描述
(8):删除索引为2的球员,教练还没想好最后一个球员让谁上
在这里插入图片描述
在这里插入图片描述
经测试,结果都符合预期,为了不让代码看起来太乱,故此处不放测试数据了
我们现在对以上代码做一些修改,解决一下代码的安全问题,首先是对于索引越界的问题,如
在这里插入图片描述
当index>0时或者index>=size时会发生索引越界
在这里插入图片描述
还有当初始化容量的时候,我们确定容量为5,但是若在后期添加球员的时候多添加了以为,也会有异常
在这里插入图片描述
在这里插入图片描述
故我们要考虑数组扩容的问题
在这里插入图片描述
如果人数过多,我们可以直接用2倍的方式去扩容数组

Arrays.copyOf这个方法底层用的是system.ArrayCopy
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试成功
若有差错,还望指正,共勉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值