众所周知,java里的数组长度是不可变,但List的集合是基于数组的,怎么让数组可变,我在泛型的基础上写了数组的增,删,查,改
这里写代码片
publlic class MyList<T>{
int size;
Object[] arr = new Object[size];
//增
public void add(T sum){
Object []arr_new = new Object[size+1];
for(int i=0;i<size;i++){
//将arr的元素Copy到arr_new
arr_new[i]=arr[i];
}
arr_new[size]=sum;
size++;
arr=arr_new;
}
//删
public void remove(int index){
Object[] arr_new = new Object[size-1];
for(int i=0;i<index;i++){
arr_new[i] = arr[i];
}
for(int i=index+1;i<size;i++){
arr_new[i-1] = arr[i];
}
arr=arr_new;
size--;
}
//查
public Object get(int index){
return arr[index];
}
//插入
public void insert(int index,T sum){
Object[] arr_new = Object[size+1];
for(int i=0;i<index;i++){
arr_new[i] = arr[i];
}
arr_new[index] = sum;
for(int i=index+1;i<size+1;i++){
arr_new[i]=arr[i-1];
}
arr=arr_new;
size++;
}
//改
public void upDate(int index,T sum){
arr[index]=sum;
}
}