数据结构(Java ArrayList模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
来源:互联网 发布:大数据解决方案供应商 编辑:程序博客网 时间:2024/06/07 23:45
ArrayList的核心是以动态数组为存储结构。
class ArrayList<T>{
private int capability ;
private static final int defaultCapability = 8;
private int size = 0;
private Object[] array = null;
public ArrayList(final int n){
this.capability = n;
this.array = new Object[capability];
}
public ArrayList(){
this.capability = defaultCapability;
this.array = new Object[capability];
}
//添加数据
public void add(T data){
Object obj = (Object)data;
resizeArray();
array[size] = data;
size++;
}
public int size(){
return size;
}
public T get(int index){
if( index < 0 || index >= size)
return null;
return (T)array[index];
}
public T remove(int index){
T t = get(index);
if( t != null ){
for(int i = index; i < size-1; i++){
array[i] = array[i+1];
}
size --;
}
return t;
}
//当数据量为总容量的75%时重新设置数组的大小
private void resizeArray(){
if(size*4 > capability*3 ){
capability = capability *2;
Object[] result = new Object[capability];
System.arraycopy(array, 0, result, 0, size);
array = result;
}
}
}
public class ArrayListTest {
public static void main(String[] args) {
ArrayList<String> arrays = new ArrayList<String>();
arrays.add("123");
arrays.add("124");
arrays.add("125");
arrays.remove(1);
//System.out.println(arrays.get(4));
for(int i =0 ;i< arrays.size(); i++)
System.out.println(arrays.get(i));
}
}
- 数据结构(Java ArrayList模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 数据结构(Java LinkedList模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 数据结构(Java 二分法查找模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 数据结构(Java 快速排序模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 数据结构(Java 插入排序模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 数据结构(Java 队列模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 数据结构(Java 二叉树模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 数据结构代码
- 数据结构代码
- 数据结构学习之汉诺塔代码
- 学习篇--数据结构伪代码
- java中的数据结构--ArrayList
- Java数据结构-ArrayList
- java数据结构之ArrayList
- java数据结构代码记录---归并排序代码
- 数据结构学习思路
- 数据结构学习之单向链表[附Java实现代码]
- __init_xu 色色js代码库 -- 新手帖代码全部删除,请见谅!!!
- 为DataTable设置主键及利用主键查找行数据
- fopen w 和wb
- PHP导出excel(*.xls)文件的简单方法
- 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
- 《C语言接口与实现》实验——表(WF)
- 数据结构(Java ArrayList模拟)本代码重在学习数据结构思路,代码完整性欠缺,请见谅
- 我作SE的那点事
- 从一个实例看jaxb的强大
- EXCEL 函数
- JiBX初步
- JSF入门
- 黑马程序员—两种设计模式及其代码的实现—第11篇
- 用分治法输出一个一维数组中的n个不同实数间距离最小的两个实数
- 对滚动区域QScrollArea用法的摸索