package com.bjsxd.test; public class ArrayList implements List { private Object[] elementData = new Object[100]; private int size = 0; Object[] temp = null; public void add(Object o) { if (size < elementData.length) { size++; Object[] target = new Object[elementData.length + size]; System.arraycopy(elementData, 0, target, 0, elementData.length); elementData[size] = o; } } public void add(int index, Object o) { if (index < 0 || o == null) { throw new IllegalArgumentException("��Ӷ������"); } else if (index <= elementData.length) { add(o); } else if (index > elementData.length) { throw new IllegalArgumentException("��Ӷ���Խ��"); } if (size <= elementData.length) { this.size++; } Object[] target = new Object[this.size]; System.arraycopy(elementData, 0, target, 0, index); target[index] = o; System.arraycopy(elementData, index, target, index + 1, elementData.length - index); } public Object get(int index) { if (index < 0 || index >= elementData.length) { return false; } else { return elementData[index]; } } public Object remove(int index) { if (index < 0 || index >= elementData.length) { throw new IllegalArgumentException("ɾ�����󲻴���"); } else { for (int i = index; i < elementData.length; i++) { elementData[i] = elementData[i + 1]; } return elementData[index]; } } public int size() { return this.size; } }