/**
* 自定义ArrayList
*
*/
public class MyArrayList<T>{
int i = 10;//数组初始容量
T[] data;//定义数组
int j = 0;//下标
int k = 10;//增量(每次容量满了之后扩大的容量)
//默认初始容量
public MyArrayList() {
data = (T[])new Object[i];
}
//用户自定义容量
public MyArrayList(int i) {
this.k = i;
this.i = k;
data = (T[])new Object[k];
}
//往数组中添加元素
public void add(T t) {
if(j==i) {
T[] ndata = (T[])new Object[i+k];
i+=k;
//把老数组copy给扩容后的数组
System.arraycopy(data, 0, ndata, 0, data.length);
//把扩容后的数组赋给老数组
data = ndata;
}
data[j] = t;
j++;
}
public T get(int index) {
return data[index];
}
public int size() {
return i;
}
}
* 自定义ArrayList
*
*/
public class MyArrayList<T>{
int i = 10;//数组初始容量
T[] data;//定义数组
int j = 0;//下标
int k = 10;//增量(每次容量满了之后扩大的容量)
//默认初始容量
public MyArrayList() {
data = (T[])new Object[i];
}
//用户自定义容量
public MyArrayList(int i) {
this.k = i;
this.i = k;
data = (T[])new Object[k];
}
//往数组中添加元素
public void add(T t) {
if(j==i) {
T[] ndata = (T[])new Object[i+k];
i+=k;
//把老数组copy给扩容后的数组
System.arraycopy(data, 0, ndata, 0, data.length);
//把扩容后的数组赋给老数组
data = ndata;
}
data[j] = t;
j++;
}
public T get(int index) {
return data[index];
}
public int size() {
return i;
}
}