Java数据结构-ArrayList
来源:互联网 发布:江苏软件行业协会 编辑:程序博客网 时间:2024/05/17 06:52
内部结构图
实现原理
ArrayList内部维护一个Object[],Object初始化大小是10,add或remove方法实际上是对数组元素的添加或者删除,
特点
由于添加和删除的时候涉及新数组的创建以及新老数组元素的复制和移动,所以添加删除教慢而取值时教快。
常用方法源码
add(E)
public boolean add(E e) { ensureCapacityInternal(size + 1); //判断是否扩充 elementData[size++] = e;//设置数组下一个元素 return true; }
remove(int index)
public E remove(int index) { rangeCheck(index);//判断下标是否越界 modCount++; E oldValue = elementData(index);//取得数组中对应下标的值 int numMoved = size - index - 1; if (numMoved > 0) System.arraycopy(elementData, index+1, elementData, index, numMoved);//把移除下标后面的所有数组元素下标往前移动一位 elementData[--size] = null; //清空数组最后一个位置,以便GC return oldValue; }
0 0
- java中的数据结构--ArrayList
- Java数据结构-ArrayList
- java数据结构之ArrayList
- 数据结构--ArrayList的Java实现
- Java数据结构 ArrayList、LinkList、Vector
- 数据结构-Java实现-ArrayList&LinkedList
- JAVA数据结构-LinkedList,ArrayList,Tree,
- Java数据结构源码分析-ArrayList
- java数据结构 ArrayList源码阅读
- Java数据结构之ArrayList(4)
- Java数据结构——ArrayList
- Java数据结构--跟着api学数据结构--arraylist
- Java数据结构------ArrayList和LinkedList的区别
- Java数据结构-ArrayList(三)
- 数据结构: Java中ArrayList的简单实现
- Java 的 ArrayList 的底层数据结构
- Java数据结构——ArrayList简介
- JAVA数据结构---动态扩展内存自定义ArrayList
- Installation error: INSTALL_CANCELED_BY_USER
- TortoiseSVN客户端重新设置用户名和密码
- Hellocharts LineChartView scrollview滑动冲突
- Windows不能识别手机 分析思路与解决方法
- mysql 配置文件
- Java数据结构-ArrayList
- <% Option Explicit %>
- annotation 注解
- mysqldump使用方法
- 浮动和定位引起高度塌陷怎么办?
- 开始重新来学C语言了
- 关于高德地图点击不出现showinfowindow
- 【tyvj】【dp】合唱队型
- 关于css的一些学习笔记