Java有了数组为什么还要集合_JavaSE——数组集合

d1ff4d4d3b5cf28e50692f5e270bc8e5.png

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

Arrays:介绍:数组的工具类,这个类主要是对我们的数组进行操作 数组排序

sort排序,数组从小到大排序,toString是打印的意思,binarySearch搜索,搜索78的下标在第几个,打印出来

4acdf40f6fdb6dc950be1f83b0981989.png

如何做到从大到小排序,如下图,做个比较器,-1和1颠倒一下就变成从大到小来排序了

3c85e460146a9e79dc2369645bbfeb4d.png

如下图:fill 覆盖,把里面的数据都覆盖成100

90fe65c6a498adb1bda2c547e3b3f4d8.png

如下图:是比较跟截取,equals比较,比较内容是否一样,copyOf截取,截取前面5个打印出来

454783fed1fdcc358c3874eea78b6fb9.png

集合框架:集合算法:数组集合链表集合哈希集合

介绍:集合在java中代表着无限存储容器,它比数组厉害,数组是有限长度,申请为3个就是3个,你少用几个它也不会缩回来,不够了也是不能扩容,而集合就是在数组的基础上做了一个可伸缩的容器、无限扩展的容器,集合平时也是帮你们存数据的,就是比数组方便一些

数组集合:

原理:

假设下面图中的是集合容器,依次类推的往里面加数据,第一次存储A1进来,第二次不够存了就申请一个比上一个大1的数组出来,然后就把老数据导入到新数组之中,之后的数据就放到后面来,A1、A2加入的只是一个引用而已,就这样子以此类推的不停的进行存储

bae01d6d3e4cfef4d0b25b13ff2b44e7.png

例题:自己研发的数组集合,作为一个容器,要能添加,要能删除,要能得到你里面的对象,还要问你的大小,如下图就是添加

0cb1b54fb5fbbf13a45e934fc4cda132.png

写好添加类,然后可以写个测试类用debug测试一下,就这样就能做到无限增长了,但是效率会低一些

0255f047aa9ecc8f9512ccfcd69e31a9.png

如下图:又是另外一种写法,先申请个数组长度为5的,扩容的时候在原来的基础上*2就是扩展两倍,然后把老数据拷贝到新数组里

3454e0650a11a57a8aaf754cfc8e83f8.png

remove删除,get按下标得值,size反馈长度

5fc50634da20d8ed44667ac2eab0b5b0.png

删除的原理:

从第几个开始拷贝,那就得看你从第几个下标开始删除,如果是1下标开始删除,就拷贝+1 拷贝给自己数组从第i个开始放

如下图,假如要删除C第二个,2+1等3 从第三个开始拷贝,拷贝给自己数组第二个,然后算8-2-1等5 长度是5个,然后选中覆盖到前面来

67b7b3af0a01e149151a9809bda06426.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值