Java扩展小案例 - 自定义ArryList,实现其基本功能!

I、什么是ArrayList?

      ArrayList是Java其中一个比较常见集合框架,它是前辈们基于数组编写出来的一个类,显然它比数组的功能要强大,ArrayList和数组最大的不同是ArrayList的大小是可以改变的,而数组的长度一旦定义就不能更改。

II、ArrayList比较常用的方法

  • add():ArrayList中添加元素的方法

 

  • remove():ArrayList中删除元素的方法

 

  • set():ArrayList中设置元素的方法

 

  • get():ArrayList中获取元素的方法

 

  • size():ArrayList的大小

 

III、一大波代码正在靠近

 首先,我们来构造一个属于我们自己的ArrayList类

 

  在这里我们会用到一个初期大家都不怎么接触的类型“泛型”,它的表现形式就和图上一样,尖括号里面加一个大写字母,这个大写字母不受限制,你开心就好。泛型其实就相当于Object,它包含Java中所有引用类型。我们可以测试一下:

 

  •   现在我们来写第一个方法,add方法,在写之前我们先理一下思路,画个流程图:

 

  首先我们知道,数组的长度一旦被定义后就不能更改了,所以我们需要另外定义一个临时数组,用来暂时装载原数组elementdata的元素,然后初始化elementdata数组,并且使它的长度加1,再把临时数组的元素赋值给原数组,最后再用elementdata数组去添加新的元素,步骤如下:

1、定义需要的属性

 

2、构造一个返回类型为boolean的add方法,参数为泛型

 

3、tempdata接收elementdata数组的值,初始化elementdata数组,并使它长度加1

 

4、遍历tempdata,把tempdata中的每一个元素归还elementdata

 

5、添加新元素

 

6、测试

 

    添加到这就写完了哦,小伙伴们加点油,期待看到你们的成品!!!

  • 接下来我们来写第二个方法,remove方法,同样,我们先画个流程图:

 

   其实remove方法的逻辑是和add方法基本类似的,都是依靠tempdata来临时存放元素,最后再归还给elementdata,只不过利用tempdata进行临时存放的时候不是像add方法那样把elementdata的元素全部赋值给tempdata,而是有目的性的存放,步骤如下:

1、构造一个返回类型为泛型的remove方法,参数为intdex

 

2、初始化tempdata,长度为elementdata-1,用来暂时存放elementdata除下标为index的元素

 

3、先把需要删掉的元素提取出来

 

4、遍历elementdata,获取除index外的元素,并赋值给tempdata

 

5、归还元素,并把要删掉的部分return掉

 

6、测试

 

删除就写完了,你们做好了吗!!!

  •  接下来的几个方法逻辑比较简单,我就只放个图了,图里有注释

 set():

 

  测试:

 

  get():

 

  测试:

 

  size():

 

  测试:

 

ok,ArrayList中常用的基本方法都已经实现,你们完成了吗?

 



  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值