package List;
import java.util.ArrayList;
import javax.swing.text.StyledEditorKit.ForegroundAction;
public class MyArrayList<E> {
//定可变数组
private Object elementData[];
private int size ;
public int getSize() {
return size;
}
//添加
public void add(E e){
//判断是否越界
if(elementData.length<size){
Object[] newArray = new Object[size*2+1];
//把老的数组数据copy给新数组
System.arraycopy(elementData, 0, newArray, 0, elementData.length);
elementData = newArray;
}
elementData[size++] = e;
}
public MyArrayList() {
this(10);
}
public MyArrayList(int initSize) {
if(initSize<0){
try {
throw new IllegalAccessException();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
elementData = new Object[initSize];
}
public E get(int index){
return (E) elementData[index] ;
}
public boolean remove(int index){
if(index>size || index<0){
return false;
}
for (int i = index; i < size; i++) {
elementData[index] = elementData[index+1] ;
}
return true ;
}
public static void main(String[] args) {
MyArrayList<String> list = new MyArrayList<String>();
list.add("aa");
list.add("bb");
list.add("cc");
list.add("dd");
list.add("ee");
list.add("ff");
list.remove(2);
for (int i = 0; i < list.getSize(); i++) {
System.out.println(list.get(i));
}
}
}