package cn.task1;
import java.util.LinkedList;
public class ArrayList implements List {
int size;
Object[] obj;
public ArrayList(){
size = 0;
obj = new Object[size];
}
@Override
public void add(Object object) {
if(size==0){
obj = new Object[1];
obj[0] = object;
size = 1;
}else{
Object[] temp = new Object[size+1];
// for(int k =0;k<size;k++){
// temp[k] = obj[k];
// }
System.arraycopy(obj, 0, temp, 0, size);
temp[size] = object;
size = size +1;
obj = temp;
}
}
@Override
public Object get(int index) {
// TODO Auto-generated method stub
return obj[index];
}
@Override
public void remove(int index) {
// TODO Auto-generated method stub
Object[] temp = new Object[size-1];
for(int k=0;k<size-1;k++){
if(k<index){
temp[k] = obj[k];
}if(k>index){
temp[k-1] = obj[k];
}
}
obj = temp;
size--;
}
@Override
public int size() {
return size;
}
@Override
public boolean isEmpty() {
if(size>0){
return true;
}
return false;
}
public void set(int index,Object object){
Object[] temp = new Object[size+1];
for(int k=0;k<size+1;k++){
if(k<index){
temp[k] = obj[k];
}if(k==index){
temp[k] = object;
}if(k>index){
temp[k] = obj[k-1];
}
}
obj = temp;
size++;
}
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("d");
list.add("dd");
list.add("cc");
list.remove(2);
list.set(1, "dwe");
System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(list.get(2));
System.out.println(list.size());
System.out.println(list.isEmpty());
}
}