声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
Arrays:
介绍:数组的工具类,这个类主要是对我们的数组进行操作 数组排序
sort排序,数组从小到大排序,toString是打印的意思,binarySearch搜索,搜索78的下标在第几个,打印出来
如何做到从大到小排序,如下图,做个比较器,-1和1颠倒一下就变成从大到小来排序了
如下图:fill 覆盖,把里面的数据都覆盖成100
如下图:是比较跟截取,equals比较,比较内容是否一样,copyOf截取,截取前面5个打印出来
集合框架:
集合算法:
数组集合
链表集合
哈希集合
介绍:集合在java中代表着无限存储容器,它比数组厉害,数组是有限长度,申请为3个就是3个,你少用几个它也不会缩回来,不够了也是不能扩容,而集合就是在数组的基础上做了一个可伸缩的容器、无限扩展的容器,集合平时也是帮你们存数据的,就是比数组方便一些
数组集合:
原理:
假设下面图中的是集合容器,依次类推的往里面加数据,第一次存储A1进来,第二次不够存了就申请一个比上一个大1的数组出来,然后就把老数据导入到新数组之中,之后的数据就放到后面来,A1、A2加入的只是一个引用而已,就这样子以此类推的不停的进行存储
例题:自己研发的数组集合,作为一个容器,要能添加,要能删除,要能得到你里面的对象,还要问你的大小,如下图就是添加
写好添加类,然后可以写个测试类用debug测试一下,就这样就能做到无限增长了,但是效率会低一些
如下图:又是另外一种写法,先申请个数组长度为5的,扩容的时候在原来的基础上*2就是扩展两倍,然后把老数据拷贝到新数组里
remove删除,get按下标得值,size反馈长度
删除的原理:
从第几个开始拷贝,那就得看你从第几个下标开始删除,如果是1下标开始删除,就拷贝+1 拷贝给自己数组从第i个开始放
如下图,假如要删除C第二个,2+1等3 从第三个开始拷贝,拷贝给自己数组第二个,然后算8-2-1等5 长度是5个,然后选中覆盖到前面来