集合框架 - ArrayList的实现原理
2016-05-19 21:35
134 查看
一、基本特性
ArrayList是基于数组实现的,并且可以动态扩容。下面简述一下ArrayList的特性:(1)get和set操作性能很高,可以按索引获取;
(2)在末尾add和remove的效率也很高,不需要移动元素;
(3)常规的add和remove性能不佳,视具体情况而定。
(4)动态扩容,和数组相比最大的优势。
二、Add和Remove操作
在对ArrayList进行add操作时,当ArrayList的长度超出了其容量限制,系统会自动为其增加50%的容量(动态扩容)。然后用System.arrayCopy()来移动部分受影响的元素。Remove操作也一样,先删除元素,然后用System.arrayCopy()来移动受影响的元素。更多详情参考链接:Java ArrayList工作原理及实现
相关文章推荐
- acm_方格移动
- (5)css盒子模型(基础上)
- 教师兼干部类
- 教师兼干部类
- 教师兼干部类
- 教师兼干部类
- 教师兼干部类
- PHP位运算以及如何引用外部文件
- tomcat(12)org.apache.catalina.core.StandardContext源码剖析
- Poj 2755:神奇的口袋
- 基-2 FFT算法的C++程序
- javascript 数组 find 与filter
- java中的匿名内部类总结
- PHP位运算以及如何引用外部文件
- 多继承同名隐藏举例
- Java基础——构造器
- XML—语法
- Python中__name__=="__main__"的作用
- Centos Linux系统网络设置
- 2015级C++第13周实践项目 多态性和实现