package Week01;
/*
* time:2017-2-20 21:51 created
*
*/
public class ArrayList implements List{
private int size = 0;
//���ٵĿռ�ֻ��100��
private Object[] elementData = new Object[100];
//��ĩλ����
public void add(Object o){
elementData[size++] = o;
}
//��ǰλ����Ԫ�أ��������ƶ���ǰλ�ڸ�λ�õ�Ԫ�ؼ����к���Ԫ��
public void add(int index, Object o){
System.arraycopy(elementData, index, elementData, index+1, size-index);
elementData[index] = o;
size++;
}
public Object get(int index){
return elementData[index];
}
//�Ƴ���������ָ����Ԫ��,�ұ�Ԫ������
public Object remove(int index){
int numMoved = size - index - 1;
if (numMoved > 0)
System.arraycopy(elementData, index+1, elementData, index, numMoved);
elementData[--size] = null;
return elementData[index];
}
public int size(){
return size;
}
public Iterator iterator(){
return new ArrayListIterator();
}
private class ArrayListIterator implements Iterator{
private int pos = 0;
public boolean hashNext() {
return pos < size();
}
public Object next() {
return elementData[pos++];
}
}
}