package day1_HomeWork; public class ArrayList implements List { private int size = 0; private Object[] elementData = new Object[100]; //�������ռ䳬����ǰ��С,��֤���� public void ensureCapacity( int newCapacity) { if ( newCapacity < size) return; Object [] old =elementData; elementData =(Object []) new Object[newCapacity]; for (int i=0; i<size(); i++ ) elementData[i] =old[i]; } public void add(Object o){ add(size(),o); return; } public void add(int index, Object o){ if( elementData.length== size() ) ensureCapacity ( size() *2 +1); for ( int i = size; i > index; i--) elementData[i] =elementData [i-1]; elementData[index]= o; size ++; } public Object get(int index){ if ( index<0 || index >=size()) throw new ArrayIndexOutOfBoundsException(); return elementData[index]; } public Object remove(int index){ Object remove_elementData=elementData[index]; for ( int i=index;i<size()-1;i++) elementData[i]= elementData[i+1]; size --; return remove_elementData; } public int size(){ return size; } public java.util.Iterator iterator(){ return null; } private class ArrayListIterator implements java.util.Iterator { private int current =0; public boolean hasNext() { return current <size(); } public Object next() { if (!hasNext()) throw new java.util.NoSuchElementException(); return elementData[current++]; } } }