数组集合添加算法

集合是无限存储的容器:

数组集合采用的算法是一开始先开辟好有限的空间进行存储放进来的数据。

等需要再次存放数据的时候,再去开辟一块比原来的空间多的容量之前,老的数据导入进新开辟的空间,然后再把新进来的数据放进空间里,依次这样进行开辟导入就形成了无限的容器。这就是数组集合的算法。

在java源码里面,采用的导入方式是直接调用本地系统语言来直接导入数据,这样提高了效率,一万毫秒才能完成的事情也许四千毫秒就执行完毕。

取消for循环导入使用System.arraycopy如下代码:

/** * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com  *@author小沫 *///把objs的数据从最开始导入到objs1最开始的空间进行依次存放。objs里面有多少数据那么就导入多少。System.arraycopy(objs,objs1,0,objs.length);

//用下标得到数据publicObjectget(intindex){returnobjs[index];}//得到大小publicintsize(){returnindex;}

测试类:

publicstaticvoidmain(){MyArrayList list=newMyArrayList();longtem=System.currentTimeMillis();for(inti=0;i<100000;i++){list.add("abc"+i);for(intj=0;j

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,754评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 贪心算法 贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上...
    fredal阅读 9,277评论 3 52
  • 弘扬真善美,相约中国梦;代代永相传,幽幽华夏情! 有了真善美,才有了精彩无限!你看:刘禹锡选择了...
    霍新威阅读 595评论 9 15
  • 无内容
    简书的蓝叶阅读 176评论 0 0